xpath通过包含值的父属性排除元素及其所有子元素

瓦列里(Valery Vasilchenko)

标记示例:

<div class="post-content">
    <p>
        <moredepth>
            <...>
                <span class="image-container float_right">
                    <div class="some_element">
                        image1
                    </div>
                    <p>do not need this</p>
                </span>
                <div class="image-container float_right">
                    image2
                </div>
                <p>text1</p>
                <li>text2</li>
            </...>
        </moredepth>
    </p>
</div>

最糟糕的是“图像容器”的深度可以在任何级别。

我尝试使用的Xpath:

//div[contains(@class, 'post-content')]//*[not(contains(@class, 'image-container'))]

我应该使用什么Xpath来排除“ some_element”以及任何深度的“ image-container”子元素和“ image-container”元素本身的其他子级?

此示例中的输出应为:

<p>
    <moredepth>
        <...>

            <p>text1</p>
            <li>text2</li>
        </...>
    </moredepth>
</p>

PS是否可以使用CSS进行这样的选择?

马蒂亚斯·穆勒(Mathias Mueller)

一旦路径表达式返回XML片段,XPath不允许对其进行处理。因此,您不能选择moredepth

//moredepth

因此没有得到所有此元素节点,包括您要排除的所有后代节点:

<moredepth>
<span class="image-container float_right">
<div class="some_element">
image1
</div>
<p>do not need this</p>
</span>
<div class="image-container float_right">
image2
</div>
<p>text1</p>
<li>text2</li>
</moredepth>

您只能选择以下子节点moredepth

//div[contains(@class, 'post-content')]/p/moredepth/*[not(contains(@class,'image-container'))]

将会产生(单个结果以分隔-------):

<p>text1</p>
-----------------------
<li>text2</li>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除元素及其所有子元素的内联CSS的最快方法?

来自分类Dev

如何查找div中的所有链接(及其所有子元素)

来自分类Dev

使用递归获得父级值和子级值及其所有子级的子级值

来自分类Dev

如何通过密钥获取字典及其所有元素?

来自分类Dev

JS:隐藏除一个之外的所有元素(按 id)(及其所有降序子元素及其父元素)

来自分类Dev

使用jQuery附加整个div及其所有元素

来自分类Dev

我怎样才能得到一个div及其所有子元素及其各自的computeStyles?

来自分类Dev

XSLT,XPath:如何通过引用其子元素的属性来获取父元素的属性?

来自分类Dev

如何从jquery选择器中排除单击的项目及其所有父项?

来自分类Dev

父节点值为其所有子节点之和

来自分类Dev

通过VBA继承父属性的子元素

来自分类Dev

使用Python中的elementree xpath在子级具有特定属性值时选择父级元素

来自分类Dev

xPath XSLT 获取父元素及其子元素和孙元素

来自分类Dev

查找属性中包含值的所有元素

来自分类Dev

使div及其所有子级忽略父类样式

来自分类Dev

如何删除领域的父对象及其所有子对象?

来自分类Dev

如何通过在 oracle 中提供子元素 ID 来获取所有父元素?

来自分类Dev

邮递员-如何断言响应正文中的数组在其所有元素中都包含字符串值

来自分类Dev

XSLT:生成所有子元素的XPATH

来自分类Dev

按子元素的属性值对父元素进行排序

来自分类Dev

按子元素的属性值对父元素进行排序

来自分类Dev

如何从列表中删除一个元素及其所有重复项?

来自分类Dev

通过xpath循环获取所有元素

来自分类Dev

$(*)。click事件单击它及其所有父对象。

来自分类Dev

从XML移除父元素和所有子元素

来自分类Dev

从XML移除父元素和所有子元素

来自分类Dev

使用php获取xml标记的所有子元素名称及其值

来自分类Dev

使用php获取xml标记的所有子元素名称及其值

来自分类Dev

XPath选择父属性和子元素数据

Related 相关文章

  1. 1

    删除元素及其所有子元素的内联CSS的最快方法?

  2. 2

    如何查找div中的所有链接(及其所有子元素)

  3. 3

    使用递归获得父级值和子级值及其所有子级的子级值

  4. 4

    如何通过密钥获取字典及其所有元素?

  5. 5

    JS:隐藏除一个之外的所有元素(按 id)(及其所有降序子元素及其父元素)

  6. 6

    使用jQuery附加整个div及其所有元素

  7. 7

    我怎样才能得到一个div及其所有子元素及其各自的computeStyles?

  8. 8

    XSLT,XPath:如何通过引用其子元素的属性来获取父元素的属性?

  9. 9

    如何从jquery选择器中排除单击的项目及其所有父项?

  10. 10

    父节点值为其所有子节点之和

  11. 11

    通过VBA继承父属性的子元素

  12. 12

    使用Python中的elementree xpath在子级具有特定属性值时选择父级元素

  13. 13

    xPath XSLT 获取父元素及其子元素和孙元素

  14. 14

    查找属性中包含值的所有元素

  15. 15

    使div及其所有子级忽略父类样式

  16. 16

    如何删除领域的父对象及其所有子对象?

  17. 17

    如何通过在 oracle 中提供子元素 ID 来获取所有父元素?

  18. 18

    邮递员-如何断言响应正文中的数组在其所有元素中都包含字符串值

  19. 19

    XSLT:生成所有子元素的XPATH

  20. 20

    按子元素的属性值对父元素进行排序

  21. 21

    按子元素的属性值对父元素进行排序

  22. 22

    如何从列表中删除一个元素及其所有重复项?

  23. 23

    通过xpath循环获取所有元素

  24. 24

    $(*)。click事件单击它及其所有父对象。

  25. 25

    从XML移除父元素和所有子元素

  26. 26

    从XML移除父元素和所有子元素

  27. 27

    使用php获取xml标记的所有子元素名称及其值

  28. 28

    使用php获取xml标记的所有子元素名称及其值

  29. 29

    XPath选择父属性和子元素数据

热门标签

归档