【发布时间】:2013-12-23 17:46:23
【问题描述】:
我有以下场景:
public struct Foo : IXmlSerializable
{
public Bar bar;
}
public struct Bar : IXmlSerializable
{
}
我希望能够从 XML 序列化/反序列化 Foo。 WriteXml 方法很容易实现:
public void WriteXml(XmlWriter writer)
{
writer.WriteStartElement("bar");
this.bar.WriteXml(writer);
writer.WriteEndElement();
}
但我不知道如何编写 ReadXml 方法。
public void ReadXml(XmlReader reader)
{
reader.MoveToContent();
????
reader.ReadEndElement();
}
首先,我需要实例化一个新的 Bar 实例来调用 ReadXml 吗?
其次,我如何编写 ReadXml 方法以便它们“堆叠”?我希望能够将我的阅读器传递给一个孩子,而不必担心它会以不适当的状态返回。
谢谢
【问题讨论】:
标签: c# xml struct deserialization hierarchy