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

    如果说,岁月是一首歌,那么我们便是歌者,纵使孤独,仍会固执高歌;如果说,岁月是一段旅程,那么我们便是行者,且行且梦,让生命丰盈。
  • 相关阅读:
    Tensorflow 学习
    几种常见损失函数
    两人比赛先选后选谁获胜系列的动态规划问题
    LeetCode 全解(bug free 训练)
    局部敏感哈希LSH
    Annoy解析
    MCMC例子
    TinyBERT简单note
    ALBERT简单note
    求根号2, 网易的一道面试题
  • 原文地址:https://www.cnblogs.com/dreamos/p/14667314.html
Copyright © 2011-2022 走看看