如何将 Saxon XdmNode 转换为 XmlDocument?

How can I convert a Saxon XdmNode to an XmlDocument?

我有一个完全填充的 XdmNode,需要从中创建一个 XmlDocument。我该怎么做?

可能 XdmNode 已经是 XmlDocument 的包装器,在这种情况下,您可以深入了解包装器以使用 XdmNode.getUnderlyingXmlNode().[= 提取底层 XmlDocument。 18=]

另一方面,在一般情况下,您需要复制数据。最简单的方法可能是 运行 XQuery "."使用 XQueryEvaluator.Run()DomDestination 作为提供的 XmlDestination;完成后,DomDestination.XmlDocument 会为您提供 DOM 文档节点。

如果您使用 XSLT 转换或 XSD 验证构建树,那么您可以提供 DomDestination 作为该过程的输出,在这种情况下您可以避免复制过程.