リスト自体に<List>
要素を書き込み、項目をループして<Item>
要素として書き出します。
エレメントがXMLシリアライズ可能なクラスのインスタンスである場合は、エレメントのタイプのXmlSerializerインスタンスを作成し、それぞれをすでに使用しているのと同じXmlWriterにシリアル化することができます。例:あなたは、このリンクが役に立つかもしれません
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("XmlSerializable");
writer.WriteElementString("Integer", Integer.ToString());
writer.WriteStartElement("OtherList");
writer.WriteAttributeString("count", OtherList.Count.ToString());
var otherSer = new XmlSerializer(typeof(OtherClass));
foreach (var other in OtherList)
{
otherSer.Serialize(writer, other);
}
writer.WriteEndElement();
writer.WriteEndElement();
}
public void ReadXml(XmlReader reader)
{
reader.ReadStartElement("XmlSerializable");
reader.ReadStartElement("Integer");
Integer = reader.ReadElementContentAsInt();
reader.ReadEndElement();
reader.ReadStartElement("OtherList");
reader.MoveToAttribute("count");
int count = int.Parse(reader.Value);
var otherSer = new XmlSerializer(typeof (OtherClass));
for (int i=0; i<count; i++)
{
var other = (OtherClass) otherSer.Deserialize(reader);
OtherList.Add(other);
}
reader.ReadEndElement();
reader.ReadEndElement();
}
、私が知っている私は(http://paltman.com/2006/jul/03/ixmlserializable-a-persistable-example/)[ビットをシフト]でした –