【问题标题】:Difference between XmlElement and XmlElementAttribute in c# xml serializationc#xml序列化中XmlElement和XmlElementAttribute的区别
【发布时间】:2016-08-05 20:13:54
【问题描述】:

c#xml序列化中的XmlElement和XmlElementAttribute有什么区别。我在对对象进行 xml 序列化时遇到问题。

实际上,我有 2 个同名字段。 1 在基类中,其他在子类中,我需要为要在 xml 文档中显示的元素设置不同的元素名称。

【问题讨论】:

  • 请描述您的具体问题,否则几乎不可能提供帮助您解决问题的答案。

标签: c# xmlserializer


【解决方案1】:

嗯,这取决于您的 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>

【讨论】:

  • 我已经尝试过了,但没有成功。出现异常:反映类型时出错:使用 XmlElementAttribute 或 XmlAttributeAttribute 指定新名称。
  • @Hamdi Baligh 你如何向元素 添加属性?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 2011-09-17
  • 2023-04-01
  • 1970-01-01
相关资源
最近更新 更多