我有一系列yaml文件,其结构很差,需要在C#中解析。架构类似于:
Root:
KnownTypeA:
VariableNameLevel3A:
VariableNameLevel4A:
KnownTypeAPropertyA: Bar
KnownTypeAPropertyB: Bar
KnownTypeAPropertyZ: Bar
KnownTypeB:
VariableNameLevel3B:
VariableNameLevel4B:
KnownTypeBPropertyA: Baz
KnownTypeBPropertyB: Baz
KnownTypeBPropertyZ: Baz
KnownTypeZ:
VariableNameLevel3C:
- Foo
- Foo
- Foo
SomePropertyA: Foo
SomePropertyA: Bar
SomePropertyA: Baz
Root
的儿童可以是已知值零或更多,KnownTypeA..Z
。
接下来的两个后代级别是任意值VariableNameLevel3A..Z
和VariableNameLevel4A..Z
。最后一级键/值集合映射到级别2中父级KnownTypeA..Z
所描述的模型。属性集合不包含在内,通常会遗漏一个或多个。
最后,第一级可能在感兴趣的已知Root
节点下面有其他键/值集合。
我查看了c#yaml实现,看起来yamldotnet是维护最多的,但它缺少文档。手动解析这个混乱是唯一的替代方案,还是有人知道一个实现可能会对模型方法产生一些洞察力,其中解串器可以将最合适的模型应用于VariableNameLevel4x
集合?