html - 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]
推荐阅读
- javascript - 制表符读取日期格式的未知文件
- javascript - 尝试根据当前 Iframe URL 显示 Iframe
- python - 带有 WHERE 子句的 pymysql SELECT
- vb.net - 函数中应该使用 ByRef 吗?
- sql-server - 将消息标记为已查看
- docker - 使用 Kubeadm 为 Helm 初始化 Tiller - Kubernetes
- swift - 我需要帮助将 facebook 分享添加到我的 ios 应用程序中
- android - 了解android上服务的内存管理
- c - 使用命令行参数执行位于内存中的程序
- javascript - 引导多个日期选择器