List<int> testList = new List<int>();
testList.Add(1);
testList.Add(2);
testList.Add(3);
XmlSerializer xs = new XmlSerializer(typeof(List<int>));
此代码(部分)创建默认根节点
<ArrayOfInts>
和每个节点:<int>
。是否可以在不创建包装类的情况下设置不同的名称?
谢谢
最佳答案
可以将xmlarray和xmlarrayitem属性一起使用到变量声明的顶部。然后,XmlSerializer在开始序列化定义的对象时考虑这些属性。让我用你的代码给你举个例子;
您应该使用这些属性定义通用列表。
public class democlass
{
[XmlArray("testList")]
[XmlArrayItem("customitem")]
public List<int> testList {get;set;}
}
然后,
您可以将值添加到列表中
static void Main(string[] args)
{
democlass d = new democlass();
d.testList = new List<int>();
d.testList.Add(1);
d.testList.Add(2);
d.testList.Add(3);
并将其序列化。你将看到这个输出。
<democlass>
<testList>
<customitem>1</customitem>
<customitem>2</customitem>
<customitem>3</customitem>
</testList>
</democlass>
就是这样。
我希望这会有帮助。
注意:魔法是在
XmlArray
和XmlArrayItem
属性中找到的,您可以在msdn上找到更详细的信息。当做