【问题标题】:C# XML Deserialize object is emptyC# XML 反序列化对象为空
【发布时间】:2014-07-09 22:05:51
【问题描述】:

我正在尝试将 XML 字符串反序列化为对象。

对象是:

[Serializable]
public class THIRD_PARTY_CONFIRMATION
{
    public string thirdPartyId { get; set; }
}

我要运行的代码是:

var response = "<?xml version='1.0' encoding='UTF-8' ?><THIRD_PARTY_CONFIRMATION thirdPartyId = \"3984000\" />";
using (var stream = new StringReader(response))
{
    XmlSerializer xmlSerializer = new XmlSerializer(typeof(THIRD_PARTY_CONFIRMATION));
    var temp = (THIRD_PARTY_CONFIRMATION)xmlSerializer.Deserialize(stream);
}

如果我在 Visual Studio 中检查 temp,则 thirdPartyId 为空。我做错了什么?

【问题讨论】:

    标签: c# xml deserialization


    【解决方案1】:

    需要将属性 XmlAttribute 添加到thirdPartyId

    [Serializable]
    public class THIRD_PARTY_CONFIRMATION
    {
        [XmlAttribute]
        public string thirdPartyId { get; set; }
    }
    

    否则它将开始寻找元素的值而不是属性。

    【讨论】:

      猜你喜欢
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多