我有几个项目的 xml,例如:
<TestObject>
<TestElement1/>
<TestElement2/>
</TestObject>
<TestObject>
<TestElement1/>
<TestElement2/>
</TestObject>
我还有课:
class TestClass {
public int TestElement1 { get; set; }
public int Element { get; set; }
}
如果我这样做:
XmlSerializer s = new XmlSerializer(typeof(List<TestClass>));
List<TestClass> list = (List<TestClass>)s.Deserialize("myXml.xml");
之后,我得到了包含对象 TestClass 的列表,但是属性 Element 没有设置。如果我想在 Element 字段中设置 TestElement2,我必须如何更改序列化?
最佳答案
您需要使用 [XmlElement]
属性装饰 Element
属性:
[XmlRoot("TestObject")]
class TestClass {
public int TestElement1 { get; set; }
[XmlElement("TestElement2")]
public int Element { get; set; }
}
关于c# - XmlSerializer 和类和 xml 属性中的不同字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593725/