考虑两个类:
class B {
...
}
class A {
B x;
}
将A
序列化为XML时,我得到如下内容:
<A>
<B>
...
</B>
</A>
但是要停止此操作,我可以执行以下操作:
class A : IXmlSerializable {
B x;
public void WriteXml(XmlWriter writer)
{
x.WriteXml(writer);
}
}
然后我得到如下序列化结果:
<A>
...
</A>
我追求的是什么。
问题在于,这仅在B
也实现IXmlSerialisable
的情况下有效。
如果仅使用默认序列化,则不会编译。
是否期望有一个与WriteXml
相同的功能,除了还可以在非IXmlSerialisable
类上使用,即写传递给writer的对象的XML而不包括top级别标签(如WriteXml
则没有)。
顺便说一下,ReadXml
我也需要有相同的东西,但我想它们成对出现。