当前位置: 代码迷 >> C# >> C# 反序列化 XML,该如何处理
  详细解决方案

C# 反序列化 XML,该如何处理

热度:56   发布时间:2016-05-05 03:46:19.0
C# 反序列化 XML
本帖最后由 yinqi025 于 2015-05-17 15:06:50 编辑
XML内容如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BookRQ>
<AuthenticationToken>
<Username>taobao</Username>
<Password>taobao</Password>
<CreateToken>taobao13877840332631387784033266</CreateToken>
</AuthenticationToken>
<TaoBaoOrderId>1387784033263</TaoBaoOrderId>
</BookRQ>



我反序列化这个XML字符串 成BookRQ对象  这个AuthenticationToken属性的特性该怎么定义?

    [Serializable]
    public class BookRQ
    {
/*****这里的XML不知道该如何定义? 有谁知道求救了 在线等****************
        [XmlArrayItem(Type = typeof(string)), XmlArrayItem(Type = typeof(int)), XmlArrayItem(Type = typeof(string))]
        public AuthenticationToken[] AuthenticationToken { get; set; }
**************/

        [XmlElement]
        public string TaoBaoOrderId { get; set; }
    }

    [Serializable]
    public class AuthenticationToken
    {
        [XmlElement]
        public string Username { get; set; }

        [XmlElement]
        public int Password { get; set; }

        [XmlElement]
        public string CreateToken { get; set; }
    }



------解决思路----------------------
很显然,你的Password属性要用string类型。
    [Serializable]
    public class BookRQ
    {
[XmlElement]
  public AuthenticationToken AuthenticationToken { get; set; }
 
        [XmlElement]
        public string TaoBaoOrderId { get; set; }
    }
 
    [Serializable]
    public class AuthenticationToken
    {
        [XmlElement]
        public string Username { get; set; }
 
        [XmlElement]
        public string Password { get; set; }
 
        [XmlElement]
        public string CreateToken { get; set; }
    }
  相关解决方案