【问题标题】:Exclude element containing attribute and all its children排除包含属性的元素及其所有子元素
【发布时间】:2021-11-24 17:37:57
【问题描述】:

我目前正在尝试检索网页上的所有元素,不包括链接及其子元素。

页面组成如下:

<body>
    <p>
        ...
        <a href='...'>
            <strong> ... </strong>
        </a>
        ...
    </p>
    <p>
        ...
        <a href='...'>
            <strong> ... </strong>
        </a>
        ...
    </p>
</body>

我能够使用//body//*[not(@href)] 获取除链接之外的所有元素。

不过,我也捕获了包含 href 属性的元素的子元素。

如何过滤掉包含href 属性及其子属性的元素?

【问题讨论】:

    标签: html dom xpath


    【解决方案1】:

    要实现这一点,您可以指定所有节点既不具有href 属性,也不具有href 属性的祖先。

    //body//*[not(@href or ancestor::*/@href)]

    【讨论】:

      猜你喜欢
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 2011-09-06
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多