XPath:如何定位包含多个特定节点的节点

4
使用xpath,我想返回所有包含多个标签的<section>标签。我已经尝试过:</br><div class="h-2"></div><pre class="guess-Ini"><code>count(concept/conbody/section:child:title>1) </code></pre> <p>我想在许多文件中运行此XPath以定位包含多个标题的部分的<概念,但是它没有返回结果。</p> <pre class="guess-Perl"><code><concept> <title>Topic Title</title> <shortdesc>Short description text.</shortdesc> <conbody> <section> <title>Section Title</title> <p>paragraph text.</p> </section> <section> <title>Section Title</title> <p>paragraph text.</p> <title>Section Title</title> <p>paragraph text.</p> </section> </conbody> </concept> </code></pre>
3个回答

5
根据章节数组的祖先节点有多少“固定”,您可以使用以下内容:
concept/conbody/section[count(title) >1]

或者:

//section[count(title) >1]

谢谢,这个很有效。我使用文件中的查找/替换功能,除了xpath之外,还必须查找文本字符串<title>,以返回具有多个标题元素的部分。 - grnygbns

2
查询具有第二个标题元素的部分,这可以避免检索所有内容以进行计数:
concept/conbody/section[title[2]]

0

这应该可以工作

concept/section[count(title)>1]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接