我正在反序列化以下XML:
<root>
<foo> some content </foo>
<bar id="someId">someContent</bar>
</root>
使用XMLSerializer
进入下面的Class对象。
[XmlRootAttribute("foobar")]
public class foobar
{
[XmlElementAttribute("foo")]
public string foo { get; set; }
[XmlElementAttribute("bar")]
public string bar { get; set; }
}
但是,这不会在someId
标记中选择bar
。我还需要做些什么改变呢?
我试过了:
在上面的课程中,我将第二个属性更改为:
[XmlElementAttribute("bar")]
public Bar bar { get; set; }
然后定义了一个新类:
[XmlTypeAttribute]
public class Bar
{
[XmlAttribute("id")]
public string id { get; set; }
[XmlText]
public string Value { get; set; }
}
这仍然会获取值,但不是Id
。
答案 0 :(得分:1)
尝试使用不带(“id”)的XmlAttribute来修复它。