【问题标题】:How to find inner of node with xpath [duplicate]如何使用xpath查找节点内部[重复]
【发布时间】:2013-06-19 18:54:55
【问题描述】:

我有这样的层次结构:

<div>
    <a>Title</a>
    <img src="...">
</div>

我必须用这个 xpath 代码列出:“//a”,并且 div 节点是动态的,所以它可能是 tr 或 p...我想通过标签找到 img 标签。我该怎么做?

我已经尝试过 "//a/ancestor::*//img" 但它不起作用。

【问题讨论】:

  • //a/following-sibling::img。见stackoverflow.com/search?q=following-sibling
  • 感谢 Wrikken 的回答。我的问题缺少关于标签的问题,例如“a”标签可能会在另一个标签中。这种情况的层次结构: 在这种情况下我可以使用following-sibling吗?跨度>
  • 不是following-siblingfollowing::a 可能,但这只是表示'文档中稍后的位置',它可能位于完全不同的位置。对匹配是否匹配有一个定义有助于稍微包含它。

标签: php xpath


【解决方案1】:

您可以(几乎)将 XPath 查询视为带有目录的文件系统。每一层嵌套标签都是该文件系统中的另一个“目录”,所以

//a/../img

会在 DOM 中找到所有 a 标签,然后是 img。查询将返回那些 img 标签。如果您确实需要处理 a 标记,但只需要处理具有 img 作为兄弟的标记,那么这将是一个更复杂的查询。

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多