xml – 有更好的方法获得XPath查询结果的父节点吗?
发布时间:2020-12-16 01:51:51 所属栏目:百科 来源:网络整理
导读:给定标记如下: div class="foo" divspan class="a1"/spana href="...".../a/div divspan class="a2"/spana href="...".../a/div divspan class="a1"/spansome text/div divspan class="a3"/spansome text/div/div 现在我有兴趣获得这些 a和一些文本,如果相
给定标记如下:
<div class="foo"> <div><span class="a1"></span><a href="...">...</a></div> <div><span class="a2"></span><a href="...">...</a></div> <div><span class="a1"></span>some text</div> <div><span class="a3"></span>some text</div> </div> 现在我有兴趣获得这些< a>和一些文本,如果相邻span是a1类。所以在整个代码的结尾,我的结果是< a>从第一个div和一些文本从第三个。如果< a>和一些文本在span或div将有类属性,但没有运气。我想做的是用a1类查询span: //div[contains(@class,'foo')]/div/span[contains(@class,'a1')] 然后获取其父代并执行另一个query()作为上下文节点的父节点。有什么更好的方法吗?我使用PHP DOM如果这很重要。
根据@MarcB答案,正确的查询是: //div[contains(@class,'a1')]/.. 但是对于< A>它可能更好使用: //div[contains(@class,'a1')]/../a 得到< A>而不是其容器。
关于xpath查询的好处是,你可以基本上对待他们像一个文件系统路径,所以只是有
//div[contains(@class,'a1')]/.. ^^ 将找到所有.a1节点下面的.foo节点,然后上移一级到a1节点的父节点。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [译]在 React.js 中使用 ES6+
- ruby – Sinatra:如何在Mustache视图中使用帮助器
- c# – 将私钥与.net中的X509Certificate2类相关联
- oracle dataguard网络最佳实践一
- ruby-on-rails – Rails Paperclip S3重命名成千上万的文件
- ruby-on-rails – 连接了两个红矿?这有可能
- ios – NSURLConnection:JSON文本没有从数组或对象开始,并
- JSON.parse()和JSON.stringify()
- ecshop后台实现用ajax动态修改/更新用户评论的时间
- ArcSDE10.5 For Oracle12.2的支持问题