我有以下 C#类属性:
private List<string> _accountTypes;
[XmlArray(ElementName = "accountTypes")]
public List<string> AccountTypes
{
get { return _accountTypes; }
set { _accountTypes = value; }
}
在类构造函数中初始化为:
_accountTypes = new List<string>( new string[] { "OHGEE", "OHMY", "GOLLY", "GOLLYGEE" });
反序列化后我得到了这个:
<accountTypes>
<string>OHGEE</string>
<string>OHMY</string>
<string>GOLLY</string>
<string>GOLLYGEE</string>
</accountTypes>
如果我能得到这个,我应该喜欢它:
<accountTypes>
<accountType>OHGEE</accountType>
<accountType>OHMY</accountType>
<accountType>GOLLY</accountType>
<accountType>GOLLYGEE</accountType>
</accountTypes>
如果不创建“accountType”类型的子类,怎么办呢?是否有任何XML属性属性可用于获取我需要的内容?
答案 0 :(得分:11)
我认为您正在搜索[XmlArrayItem]
属性。
试试这个:
[XmlArray(ElementName = "accountTypes")]
[XmlArrayItem("accountType")]
public List<string> AccountTypes
{
get { return _accountTypes; }
set { _accountTypes = value; }
}