xpath选择注释内的节点
是否可以在注释中选择使用xpath学习XMLxpath选择注释内的节点,xpath,Xpath,是否可以在注释中选择使用xpath学习XML <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <!--<book> <title lang="eng">Learning XML</title> <price>39.9
<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>
哈利·波特
29.99
您可以通过以下方式实现:
//bookstore/book/following::comment()[1]
这将导致:
<!--<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
-->
使用XPath 3.0,您可以使用
fn:parse xml
再次解析注释。这将产生一个普通的XML元素,您现在可以使用标准的XPath表达式来遍历它
parse-xml(/bookstore//comment())/book/title
注释中没有节点。注释只包含文本。如果您知道注释的内容是格式良好的XML,那么您可以读取文本,将其传递给XML解析器,并处理生成的树。使用XPath 3.0或处理器扩展,您可以在一个XPath表达式中完成所有这些操作。为什么要进行向下投票?这是非常合理的question@akhterwahab在我的例子中,没有考虑regex。@MikeYin您可以使用“//comment()”来选择注释,如果没有考虑regex,您可以使用任何xpath字符串方法从中获得所需的部分。这只是给您注释,而不是
元素。@dirkk不,我不这么认为。表达式将在comment中生成完整的book元素,如图所示。这正是我所说的。它返回整个注释,即
元素,而OP只对
元素感兴趣