使用RestSharp库反序列化XML时,如果我的元素包含具有相同名称的属性的嵌套元素,则父元素将采用嵌套元素的属性值 - 如何防止这种情况发生?
我有几个类(大于这个,但这是一个简化的表单来演示)设置为反序列化XML。
[XmlType(AnonymousType = true)]
[XmlRoot(IsNullable = false)]
public class Base
{
[XmlAttribute("title")]
public string Title { get; set; }
[XmlArray("base")]
[XmlArrayItem("foo")]
public List<Foo> Foos{ get; set; }
public Base()
{
Foos = new List<Foo>();
}
}
[XmlType(AnonymousType = true)]
public class Foo
{
[XmlAttribute("style")]
public string Style { get; set; }
[XmlElement("bar")]
public List<Bar> Bars { get; set; }
public Foo()
{
Bars = new List<Bar>();
}
}
[XmlType(AnonymousType = true)]
public class Bar
{
[XmlAttribute("style")]
public string Style { get; set; }
[XmlElement("foo")]
public List<Foo> Foos{ get; set; }
public Bar()
{
Foos = new List<Foo>();
}
}
使用XML:
<base>
<foo>
<bar style="bold" />
<bar />
</foo>
<foo>
<bar style="bold" />
<bar />
</foo>
</base>
反序列化时,我有一个Foo的实例Foo.Style = "bold"
,但我希望Foo.Style = null
。如何阻止父元素获取子元素属性值?
答案 0 :(得分:0)