zoukankan      html  css  js  c++  java
  • WCF数据协议中XmlArrayItem标签不起作用的问题

    在数据协议中,有一个属性是字符串数组,

    1 [System.Xml.Serialization.XmlArrayAttribute(Order = 19)]
    2 [System.Xml.Serialization.XmlArrayItemAttribute("CardNumber", typeof(string), IsNullable = false)]
    3 [DataMember]
    4 public string[] Cards {get; set; }

    我想把它序列化成下面的格式

    <Cards>
        <CardNumber>123123</CardNumber>
    </Cards>

    但是转换之后变成了

    <Cards>
        <string>123123</string>
    </Cards>

    解决方法是:

    1.创建一个类代替数组

    [CollectionDataContract(ItemName="CardNumber")]
    public class CardsList : List<string> { }

    2.用

    [DataMember(Name="Cards")]
    public CardsList Cards {get; set; };

    替换

    [DataMember]
    public string[] Cards {get; set; }

    注:转自https://stackoverflow.com/questions/37586165/serializing-data-using-xmlarrayitemattribute-not-working-well

    如果说,岁月是一首歌,那么我们便是歌者,纵使孤独,仍会固执高歌;如果说,岁月是一段旅程,那么我们便是行者,且行且梦,让生命丰盈。
  • 相关阅读:
    原创frame-relay配置
    iptables详解和练习
    nfs-rpcbind-portmap挂载nfs-network file system
    linux-user-group添加与删除
    cgi-fastcgi-fpm
    lamp介绍
    子签CA以及给别人发CA
    正则表达式
    字符集和字符编码
    C++11新特性
  • 原文地址:https://www.cnblogs.com/dreamos/p/14667314.html
Copyright © 2011-2022 走看看