如何对内存中的 xml DOM 树进行 XSLT 转换?

How to XSLT-transform in-memory xml DOM tree?

如何对内存中的 xml DOM 树进行 XSLT 转换?例如,我在内存 XML 树中创建(使用 DOM)并希望对其进行 XSLT 转换。我想省略在 XML 中创建的 DOM 树的序列化阶段,然后将 xml 序列化文档发送到 XSLT 处理器(这将浪费时间再次反序列化)。直接将 DOM 树作为输入发送到 XSLT 处理器。最好在 MSXML 中实现。

使用 MSXML,DOM 节点公开方法 transformNode(将带有样式表代码的 DOM 节点作为其参数,并使用转换结果创建字符串,请参阅 https://msdn.microsoft.com/en-us/library/ms761399%28v=vs.85%29.aspx) and transformNodeToObject (taking a DOM node with the stylesheet code as its first argument and a result object like a stream or another DOM node as the second argument, see https://msdn.microsoft.com/en-us/library/ms766561%28v=vs.85%29.aspx) 因此很容易将 XSLT 应用于在内存中创建的 DOM 节点。