如何解决Xpath 查询以查找其属性与其祖先元素匹配的所有元素
使用此示例 HTML:
<body>
<ul>
<li><a href="one.html">One</a>
<ul>
<li><a href="one.html">One a</a></li> <!-- I want this one -->
<li><a href="one.html">One b</a></li> <!-- I want this one -->
</ul>
<ul>
<li><a href="two.html">Two</a></li>
<li><a href="three.html">Three</a></li>
<li><a href="four.html">Four</a></li>
<li><a href="five.html">Five</a>
<ul>
<li><a href="five.html">Five a</a></li> <!-- I want this one -->
<li><a href="five.html">Five b</a></li> <!-- I want this one -->
</ul>
</li>
</ul>
</li>
</ul>
</body>
我需要匹配其子 <li>
元素包含与其父 <a>
相同的 <href>
属性的任何 <li>/<a>
元素。
我试过这个,它不起作用,因为它选择了所有元素(因为它匹配第一个 <li>
项目):
//li[a[@href=ancestor::li/a/@href]]
解决方法
试试
//li[a/@href=ancestor::li[1]/a/@href]
,
你可以试试这些 XPath :
//a[@href=//preceding-sibling::a/@href]
这是我使用上述 XML 在 Xpath Playground 上的结果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。