这是 XML 示例,但使用不同的方法来定义属性:
<TestXML>
<TestData attr1="MyAttr" attr2="1" DateAdded="">25</TestData>
</TestXML>
现在我的班级定义:
public class TestXML() {
[XmlElement("TestData")]
public IntegerValue value {get; set;}
}
public class IntegerValue() {
public int value {get; set;}
[XmlAnyAttribute]
public string[] XAttributes {get; set;}
}
现在反序列化的代码:
string xml = "<TestXML><TestData attr1=\"MyAttr\" attr2=\"1\" DateAdded=\"\">25</TestElement> </TestXML>"
using (StringReader sr = new StringReader(xml)) {
XmlSerializer serializer = new XmlSerializer(typeof(TestXML));
TestXML myxml = (TestXML)serializer.Deserialize(sr);
}
产生以下结果:
myxml
value | 0
XAttributes {string[7]}
[0] "MyAttr"
[1] "1"
[2] ""
xml 格式正确。无法使用 XMLAnyAttribute 获取要反序列化的值。想要获取名称以及属性的值,但到目前为止还没有找到该方法的示例。