【发布时间】:2020-07-26 23:02:18
【问题描述】:
我正在使用 XmlSeriazlier 反序列化 xml 文件。
var serializer = new XmlSerializer(typeof(T));
using (var reader = document.CreateReader())
var result = (T)serializer.Deserialize(reader);
Xml 包含 if/else if/else 条件,需要一起存储在一个对象中。
示例 Xml
<Layers>
<If if="something" >
<Layer name="something" />
</If>
<ElseIf if="anything" >
<Layer name="anything" />
</ElseIf>
<Else>
<Layer name="nothing" />
</Else>
<If if="something" >
<Layer name="something" />
</If>
<ElseIf if="anything" >
<Layer name="anything" />
</ElseIf>
<If if="something" >
<Layer name="something" />
</If>
<Else>
<Layer name="nothing" />
</Else>
</Layers>
语法与编程语言相同。我想知道如何将连接的条件存储在一起。
[XmlRoot("Layers")
public class Layers
{
// TODO: Parse conditions to this list.
public List<Condition> { get; set; }
}
public class Condition
{
public If IfCondition { get; set; }
public List<IfElse> IfElseConditions { get; set; }
public Else ElseCondition { get; set; }
}
【问题讨论】:
标签: c# xml serialization xmlreader