xpath选择注释中的节点

时间:2014-02-28 06:05:46

标签: xpath

是否可以在评论

中使用xpath选择<title lang="eng">Learning XML</title>
<bookstore>

<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

<!--<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
-->

</bookstore>

3 个答案:

答案 0 :(得分:2)

使用XPath 3.0,您可以使用fn:parse-xml再次解析注释。这将生成一个普通的XML元素,您现在可以使用标准的XPath表达式进行遍历。

parse-xml(/bookstore//comment())/book/title

答案 1 :(得分:0)

您可以按如下方式实现:

//bookstore/book/following::comment()[1]

这将导致:

<!--<book>
<title lang="eng">Learning XML</title>
   <price>39.95</price>
</book>
-->

答案 2 :(得分:0)

评论中没有节点。评论只包含文字。如果您知道注释的内容是格式良好的XML,那么您可以阅读文本,将其传递给XML解析器,然后处理生成的树。使用XPath 3.0或处理器扩展,您可以在单个XPath表达式中完成所有这些操作。