【问题标题】:Serialize XML (via IXmlSerializable) to XmlDocument将 XML(通过 IXmlSerializable)序列化为 XmlDocument
【发布时间】:2023-03-27 11:41:01
【问题描述】:

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

所以,我已经实现了 IXmlSerializable,现在我想使用 Write() 方法来创建要传递给 BizTalk 的实际 XmlDocument 实例。比如:

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

显然上述方法不起作用:我很确定它甚至无法编译......但这就是我正在寻找的功能。

有没有人为此提供罐头解决方案,或者我可以去寻找示例或教程的地方?

【问题讨论】:

    标签: c# xml biztalk


    【解决方案1】:

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

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

    流可以是XmlWriterTextWriterStream,然后您可以根据需要将其加载到XmlDocument

    这里有更多信息

    IXmlSerializable Interface

    【讨论】:

    • 啊!这更有意义。我不知道为什么我完全忘记了 XmlSerializer...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多