如何使用XPath访问XML文档中的注释?
例如:
<table>
<length> 12 </length>
<!--Some comment here-->
</table>
Run Code Online (Sandbox Code Playgroud)
我想访问"这里的一些评论".
谢谢...
编辑:我正在使用MSXML DOM ActiveX和命令注释()似乎失败...任何想法为什么?
Bjö*_*örn 57
随着路径
/foo/bar/comment()
Run Code Online (Sandbox Code Playgroud)
您可以选择/ foo/bar元素中的所有注释.当然,可能取决于您选择的语言.但通常这就是你如何做到的.
Ant*_*nes 19
使用comment()函数例如: -
/table/length/following::comment()[1]
Run Code Online (Sandbox Code Playgroud)
选择length元素后面的第一个注释.
编辑
Manoj在回答这个问题时请求为什么这不适用于MSXML.原因是你使用的是MSXML3.默认情况下,MSXML3不使用XPath作为其选择语言,它默认使用较早的弱语言(XSL模式).您需要通过DOMDocument的setProperty方法将XPath设置为选择语言.例如(在JScript中): -
var dom = new ActiveXObject("MSXML2.DOMDocument.3.0");
dom.setProperty("SelectionLanguage", "XPath");
Run Code Online (Sandbox Code Playgroud)
现在,完整的XPath语言将在您的查询中起作用(请注意,一个重大变化是索引器谓词在XPath中为1,而在XSL模式中为0).