出现与XML反序列化相关的问题

本文关键字:问题 反序列化 XML | 更新日期: 2023-09-27 17:54:49

假设XML数据存储在字符串变量中。因此,当我试图反序列化XML到我的类,然后我得到错误的属性名称。

  [XmlAttribute("Name")]
  public string CompanyName
  {
    get
    {
      return __CompanyName;
    }
    set
    {
      if (value != null)
        __CompanyName = value;
      else
        __CompanyName = "";
    }
  }

实际上我得到错误,因为在我的xml有名称标签,但在我的代码属性名称是CompanyName。这就是为什么我得到错误。是否有任何方法可以映射我的属性中的属性?结果Name将与CompanyName进行映射,并且在反序列化期间不会发生问题。请帮助。[XmlAttribute("名字")]…它应该是xmlelement而不是XmlAttribute。需要帮助。

出现与XML反序列化相关的问题

可以更改名称;您只需要正确的属性。没有显示XML,但看起来只需要

[XmlElement("Name")]
public string CompanyName {...etc...}

如果类型不在您的控制范围内,您可以使用XmlAttributeOverrides来重新教育XmlSerializer -但是如果您这样做,您必须缓存并重用序列化器实例(否则您将泄漏内存)。