代码之家  ›  专栏  ›  技术社区  ›  AllenG

将XML(通过IXML可序列化)序列化为XML文档

  •  1
  • AllenG  · 技术社区  · 14 年前

    我正在尝试从类的实例中编写一个XML文档,以传递给Biztalk(2006 R2,如果重要的话)。我正在实现IXMLSerializable,因为我相信它会给我最大的灵活性(这个对象不一定总是被写入一个XML文档并传递到Biztalk)。

    因此,我已经实现了IXMLSerializable,现在我想使用write()方法来创建要传递给Biztalk的实际XMLDocument实例。类似:

    XmlDocument xDoc = new XmlDocument();
    xDoc.LoadXml(XmlWriter.Create(this.Write());
    

    显然,上面的内容不起作用:我很确定它甚至不能编译…但这就是我想要的功能。

    有没有人对此有现成的解决方案,或者我可以去一个地方寻找例子或教程?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Stan R.    14 年前

    IXmlSerializable 在要添加自定义序列化逻辑时实现,这意味着您需要使用 XmlSerializer 要让它调用实现的逻辑。

    XmlSerializer ser = new XmlSerializer(this.GetType());
    ser.Serialize(stream, this);
    

    流可以 XmlWriter , TextWriter , Stream 然后你可以把它装进去 XmlDocument 如果你愿意的话。

    这是更多的信息

    IXmlSerializable Interface