【发布时间】:2010-02-10 14:46:22
【问题描述】:
使用 XmlSerializer 的 LinkedList can't be serialized。
现在,如何从序列化的对象 LinkedList 中保存/检索数据。我应该实现自定义序列化吗?
我想做什么:
using System.Xml.Serialization;
[Serializable()]
public class TestClass
{
private int _Id;
private string _Name;
private int _Age;
private LinkedList<int> _linkedList = new LinkedList<int>();
public string Name {
get { return _Name; }
set { _Name = value; }
}
public string Age {
get { return _Age; }
set { _Age = value; }
}
[XmlArray()]
public List<int> MyLinkedList {
get { return new List<int>(_linkedList); }
set { _linkedList = new LinkedList<int>(value); }
}
}
我得到了什么(添加姓名、年龄和 mylinkedlist 中的一些项目):
<?xml version="1.0"?>
<TestClass
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>testName</Name>
<Age>10</Age>
<MyLinkedList />
</TestClass>
所以,链表中的项目还没有被序列化... :(
【问题讨论】:
-
也许您的测试代码错误地将元素添加到集合中?我将使用示例代码更新我的答案。
标签: .net serialization .net-2.0 xml-serialization