如何在 MSXML IXMLDOMDocument2 中保存和访问处理指令
How to preserve and access processing instructions in MSXML IXMLDOMDocument2
我有这个问题,我需要访问 MSXML IXMLDOMDocument2 接口中的处理指令。
是否可以执行 XMLDocument.load()
并访问 xml-stylesheet
指令?
如果是,如何正确处理?
我 xml 有:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
...
我需要提取 xml-stylesheet
href
值。
但是XMLDocument
经过XMLDocument.load()
操作后似乎不包含这条处理指令。
所以我无法执行:
XMLDocument.transformNode(XSLDocument);
用 XSLDocument
填充了 transform.xsl
里面的东西,因为我不知道 transform.xsl
在哪里。
感谢您的帮助。
假设 MSXML 没有将 XML 声明建模为节点(我认为没有,但我不确定)你应该能够访问处理指令作为XMLDocument.firstChild
和 XMLDocument.firstChild.data
然后为您提供处理指令的“值”,即完整的字符串 type="text/xsl" href="transform.xsl"
.
您还应该能够 select 使用 XPath 和 XMLDocument.selectSingleNode("processing-instruction('xml-stylesheet')").data
的节点,只是 XPath 不是 MS 中的默认 selection 语言XML 3(仅在 MSXML 6) 中,对于 MSXML 3,您需要先设置 XMLDocument.setProperty("SelectionLanguage", "XPath")
.
我有这个问题,我需要访问 MSXML IXMLDOMDocument2 接口中的处理指令。
是否可以执行 XMLDocument.load()
并访问 xml-stylesheet
指令?
如果是,如何正确处理?
我 xml 有:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="transform.xsl"?>
...
我需要提取 xml-stylesheet
href
值。
但是XMLDocument
经过XMLDocument.load()
操作后似乎不包含这条处理指令。
所以我无法执行:
XMLDocument.transformNode(XSLDocument);
用 XSLDocument
填充了 transform.xsl
里面的东西,因为我不知道 transform.xsl
在哪里。
感谢您的帮助。
假设 MSXML 没有将 XML 声明建模为节点(我认为没有,但我不确定)你应该能够访问处理指令作为XMLDocument.firstChild
和 XMLDocument.firstChild.data
然后为您提供处理指令的“值”,即完整的字符串 type="text/xsl" href="transform.xsl"
.
您还应该能够 select 使用 XPath 和 XMLDocument.selectSingleNode("processing-instruction('xml-stylesheet')").data
的节点,只是 XPath 不是 MS 中的默认 selection 语言XML 3(仅在 MSXML 6) 中,对于 MSXML 3,您需要先设置 XMLDocument.setProperty("SelectionLanguage", "XPath")
.