Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 出现与xml反序列化相关的问题_C#_Xml Serialization - Fatal编程技术网

C# 出现与xml反序列化相关的问题

C# 出现与xml反序列化相关的问题,c#,xml-serialization,C#,Xml Serialization,假设xml数据存储在字符串变量中。所以,当我试图将xml反序列化到我的类时,属性名出现错误 [XmlAttribute("Name")] public string CompanyName { get { return __CompanyName; } set { if (value != null) __CompanyName = value; else __CompanyN

假设xml数据存储在字符串变量中。所以,当我试图将xml反序列化到我的类时,属性名出现错误

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

实际上,我得到了错误,因为在我的xml中有Name标记,但在我的代码中属性名是CompanyName。这就是我出错的原因。是否有任何方法可以映射my property中的属性,因为结果名称将映射为CompanyName,并且在反序列化过程中不会出现任何问题。请帮忙。[XmlAttribute(“名称”)]。。。它应该是xmlelement而不是XmlAttribute。需要帮助。

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

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

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

请告诉我xml数据中的名称将如何自动存储在companyname中。当我将其反序列化时,我需要为映射做什么。@user728750
[xmlement(“Name”)]
告诉它将
CompanyName
属性映射到
blah
元素。不需要其他任何东西。如果这不起作用,请显示示例xml。