使用 xpath 表达式排除节点及其子节点

克里斯

鉴于此 xml

<root xmlns:foo="http://www.foo.org/" xmlns:bar="http://www.bar.org">
    <actors>
        <actor id="1">Christian Bale</actor>
        <actor id="2">Liam Neeson</actor>
        <actor id="3">Michael Caine</actor>
    </actors>
    <foo:singers>
        <foo:singer id="4">Tom Waits</foo:singer>
        <foo:singer id="5">B.B. King</foo:singer>
        <foo:singer id="6">Ray Charles</foo:singer>
    </foo:singers>
</root>

我想排除actors所有actor元素。

这个xpath

/root/*[not(self::actors)] 

返回

<foo:singers xmlns:foo="http://www.foo.org/">
    <foo:singer id="4">Tom Waits</foo:singer>
    <foo:singer id="5">B.B. King</foo:singer>
    <foo:singer id="6">Ray Charles</foo:singer>
</foo:singers>

而我想要

<root xmlns:foo="http://www.foo.org/" xmlns:bar="http://www.bar.org">
    <foo:singers>
        <foo:singer id="4">Tom Waits</foo:singer>
        <foo:singer id="5">B.B. King</foo:singer>
        <foo:singer id="6">Ray Charles</foo:singer>
    </foo:singers>
</root>
迈克尔·凯

XPath 表达式选择提供的输入文档中的节点。他们无法更改输入文档。“root”元素有“actors”作为子元素,如果你选择它,它仍然会有“actors”作为子元素。

同样,如果您选择 foo:singers 元素,它仍将“root”作为父元素。

许多显示 XPath 表达式结果的客户端应用程序选择显示以选定节点为根的子树,而忽略树中的其他节点。这只是显示结果的一种方式:您需要将 XPath 表达式选择的节点与显示结果时在屏幕上显示的节点区分开来。

如果要创建不同的树,其中“根”没有“演员”子级,则需要 XSLT 或 XQuery。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在节点对象的 grails 中使用 xpath 表达式

来自分类Dev

在xpath表达式中使用Mule变量值查询重复的XML节点

来自分类Dev

使用Oracle XML DB向与XPATH表达式匹配的所有节点添加属性

来自分类Dev

使用XPath和Scrapy / lxml排除特定的子节点

来自分类Dev

Powershell-XPath-SUM()和Count()子节点-仅XPath表达式

来自分类Dev

使用xpath删除节点

来自分类Dev

使用XPath选择节点

来自分类Dev

使用xpath选择某些子节点

来自分类Dev

使用xpath选择某些子节点

来自分类Dev

使用xpath查询返回子节点

来自分类Dev

XPath表达式,用于选择所有没有子代Java的子节点

来自分类Dev

css/xpath 选择器在使用 selenium webdriver (java) 时排除元素中的子节点

来自分类Dev

在 xPath 表达式中使用变量

来自分类Dev

使用XPATH计算子节点

来自分类Dev

使用xpath从XmlDocument获取节点

来自分类Dev

使用XPath创建XML节点

来自分类Dev

删除使用XPath找到的节点

来自分类Dev

R:使用xpath过滤节点

来自分类Dev

Xpath,PHP以及如何跳过特定节点(及其子节点)

来自分类Dev

RSelenium-如何获取节点的子节点编号及其xpath

来自分类Dev

具有多节点 xpath 的 oracle xmltable 表达式是否保留节点的物理顺序?

来自分类Dev

XPath 表达式在不应该返回节点时返回节点

来自分类Dev

Groovy使用带有certian子计数和表达式的gpath查找节点

来自分类Dev

如何使用XPath for HTML获取子节点的数量?

来自分类Dev

使用XPath或lxml根据标记选择特定的子节点

来自分类Dev

如何使用XPath for HTML获取子节点的数量?

来自分类Dev

使用XPath获取节点的每个子节点的第一个子节点

来自分类Dev

如何使用XPath显示所有子节点,更多子节点以及更多子节点

来自分类Dev

LXML XPath表达式仅返回第一个子节点,而浏览器确认多个子节点

Related 相关文章

  1. 1

    在节点对象的 grails 中使用 xpath 表达式

  2. 2

    在xpath表达式中使用Mule变量值查询重复的XML节点

  3. 3

    使用Oracle XML DB向与XPATH表达式匹配的所有节点添加属性

  4. 4

    使用XPath和Scrapy / lxml排除特定的子节点

  5. 5

    Powershell-XPath-SUM()和Count()子节点-仅XPath表达式

  6. 6

    使用xpath删除节点

  7. 7

    使用XPath选择节点

  8. 8

    使用xpath选择某些子节点

  9. 9

    使用xpath选择某些子节点

  10. 10

    使用xpath查询返回子节点

  11. 11

    XPath表达式,用于选择所有没有子代Java的子节点

  12. 12

    css/xpath 选择器在使用 selenium webdriver (java) 时排除元素中的子节点

  13. 13

    在 xPath 表达式中使用变量

  14. 14

    使用XPATH计算子节点

  15. 15

    使用xpath从XmlDocument获取节点

  16. 16

    使用XPath创建XML节点

  17. 17

    删除使用XPath找到的节点

  18. 18

    R:使用xpath过滤节点

  19. 19

    Xpath,PHP以及如何跳过特定节点(及其子节点)

  20. 20

    RSelenium-如何获取节点的子节点编号及其xpath

  21. 21

    具有多节点 xpath 的 oracle xmltable 表达式是否保留节点的物理顺序?

  22. 22

    XPath 表达式在不应该返回节点时返回节点

  23. 23

    Groovy使用带有certian子计数和表达式的gpath查找节点

  24. 24

    如何使用XPath for HTML获取子节点的数量?

  25. 25

    使用XPath或lxml根据标记选择特定的子节点

  26. 26

    如何使用XPath for HTML获取子节点的数量?

  27. 27

    使用XPath获取节点的每个子节点的第一个子节点

  28. 28

    如何使用XPath显示所有子节点,更多子节点以及更多子节点

  29. 29

    LXML XPath表达式仅返回第一个子节点,而浏览器确认多个子节点

热门标签

归档