【发布时间】:2016-08-05 20:13:54
【问题描述】:
c#xml序列化中的XmlElement和XmlElementAttribute有什么区别。我在对对象进行 xml 序列化时遇到问题。
实际上,我有 2 个同名字段。 1 在基类中,其他在子类中,我需要为要在 xml 文档中显示的元素设置不同的元素名称。
【问题讨论】:
-
请描述您的具体问题,否则几乎不可能提供帮助您解决问题的答案。
标签: c# xmlserializer
c#xml序列化中的XmlElement和XmlElementAttribute有什么区别。我在对对象进行 xml 序列化时遇到问题。
实际上,我有 2 个同名字段。 1 在基类中,其他在子类中,我需要为要在 xml 文档中显示的元素设置不同的元素名称。
【问题讨论】:
标签: c# xmlserializer
嗯,这取决于您的 XML 文件结构。如果子元素是 xml 标记,则应添加 XmlElement 数据注释。如果你的类的属性绑定了当前节点相关的属性,那么添加属性数据注解。
[Serializable()]
public class Person
{
[System.Xml.Serialization.XmlElement("Name")]
public string Name{ get; set; }
[System.Xml.Serialization.XmlElement("Phone")]
public int Phone { get; set; }
[System.Xml.Serialization.XmlElement("Address ")]
public string Address { get; set; }
}
在这种情况下,您的 xml 结构应该是这样的:
<person>
<name>...</name>
<phone>...</phone>
<address>...</address>
</person>
现在如果属性代表子属性,它将是这样的:
<person name='...' phone='...' address='...'></person>
【讨论】: