XmlSerializer 以及类和 xml 属性中的不同字段
我有包含多个项目的 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,我必须如何更改序列化?
I have xml with several items, for example:
<TestObject>
<TestElement1/>
<TestElement2/>
</TestObject>
<TestObject>
<TestElement1/>
<TestElement2/>
</TestObject>
Also I have class:
class TestClass {
public int TestElement1 { get; set; }
public int Element { get; set; }
}
If I do:
XmlSerializer s = new XmlSerializer(typeof(List<TestClass>));
List<TestClass> list = (List<TestClass>)s.Deserialize("myXml.xml");
After it I get list with objects TestClass, but property Element didn't set. How I must change serialization, if I want to set TestElement2 in Element field?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用
[XmlElement]
属性来修饰Element
属性:You need to decorate the
Element
property with an[XmlElement]
attribute:尝试使用 XmlElement 属性,
请参阅使用属性控制 XML 序列化
Try XmlElement attribute
see Controlling XML Serialization Using Attributes