转发IXmlSerializable方法

时间:2019-07-10 02:16:18

标签: c# .net xml

考虑两个类:

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我也需要有相同的东西,但我想它们成对出现。

0 个答案:

没有答案