我有一个 XML 文件:
<Hand cards="C5,SQ,DQ,H8,C9,H7,S9,D5,DA,CJ,S6,HK,D4">
</Hand>
我定义了一个类
[Serializable()]
[XmlRoot("Hand")]
public class Hand
{
[XmlAttribute("cards")]
public List<string> Cards{get;set;}
}
在这种情况下如何将 XML 反序列化为对象?手牌对象结果必须有 Cards = {C5,SQ,DQ,H8,C9,H7,S9,D5,DA,CJ,S6,HK,D4}。
最佳答案
你不能。
您可以做的是创建一个属性,该属性将在其 getter/setter 中执行此转换
[XmlIgnore]
public List<string> CardList { get; private set; }
[XmlAttribute("cards")]
public string Cards {
get { return String.Join(",", CardList); }
set { CardList = value.Split(",").ToList(); }
}
关于c# - 自定义数据的 XML 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224666/