使用python获取xml节点的所有父级

尼桑·纳瓦赫德(Nishant Nawarkhede)

对于这个XML

<Departments orgID="123" name="xmllist">
    <Department>
        <orgID>124</orgID>
        <name>A</name>
        <type>type a</type>
        <status>Active</status>
            <Department>
                <orgID>125</orgID>
                <name>B</name>
                <type>type b</type>
                <status>Active</status>
                <Department>
                    <orgID>126</orgID>
                    <name>C</name>
                    <type>type c</type>
                    <status>Active</status>
                </Department>
            </Department>
    </Department>
    <Department>
        <orgID>109449</orgID>
        <name>D</name>
        <type>type d</type>
        <status>Active</status>
    </Department>
</Departments>

我如何才能lxml etree在python中使用节点的所有父代

预期的输出:输入orgid = 126,它将返回所有的父母,例如

{'A':124,'B':125,'C':126}
虚假的

使用lxml和XPath:

>>> s = '''
... <Departments orgID="123" name="xmllist">
...     <Department>
...         <orgID>124</orgID>
...         <name>A</name>
...         <type>type a</type>
...         <status>Active</status>
...             <Department>
...                 <orgID>125</orgID>
...                 <name>B</name>
...                 <type>type b</type>
...                 <status>Active</status>
...                 <Department>
...                     <orgID>126</orgID>
...                     <name>C</name>
...                     <type>type c</type>
...                     <status>Active</status>
...                 </Department>
...             </Department>
...     </Department>
...     <Department>
...         <orgID>109449</orgID>
...         <name>D</name>
...         <type>type d</type>
...         <status>Active</status>
...     </Department>
... </Departments>
... '''

使用ancestor-or-self轴,您可以找到节点本身,父节点,祖父母节点,...

>>> import lxml.etree as ET
>>> root = ET.fromstring(s)
>>> for target in root.xpath('.//Department/orgID[text()="126"]'):
...     d = {
...         dept.find('name').text: int(dept.find('orgID').text)
...         for dept in target.xpath('ancestor-or-self::Department')
...     }
...     print(d)
...
{'A': 124, 'C': 126, 'B': 125}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用python获取xml节点的所有父级

来自分类Dev

Neo4j父级-子级:获取所有顶级节点

来自分类Dev

获取节点js中特定父级的所有子级

来自分类Dev

使用递归函数获取所有XElement父级

来自分类Dev

使用xpath获取父节点内的所有文本

来自分类Dev

获取所有分层父级,直到mongodb中叶节点的根

来自分类Dev

XML样式表可删除所有空子节点,但保持父级

来自分类Dev

XML解析-仅从具有特定ID的父级获取节点

来自分类Dev

具有字符串路径的分层数据-查询节点,获取其节点的所有父级和第一级

来自分类Dev

使用属性获取XML树中所有节点的xpath-Python

来自分类Dev

如何使用powershell仅导入父节点而从xml文件中保留所有子节点?

来自分类Dev

使用Javascript获取XML中所有节点的名称

来自分类Dev

使用Javascript获取XML中所有节点的名称

来自分类Dev

php树获取子节点的所有父节点的列表

来自分类Dev

在所有父级的树中任何节点的mysql中获取完整的父子关系树

来自分类Dev

在复杂XML中使用Xpath读取父级的父级节点

来自分类Dev

如何使用Scala获取XML文件的所有子级和子级

来自分类Dev

在C#中以XML获取父级两级的节点值

来自分类Dev

获取所有XML节点的路径

来自分类Dev

自动获取所有节点xml

来自分类Dev

使用python获取所有pytest节点ID的列表

来自分类Dev

从Groovy xml节点中删除所有子级

来自分类Dev

从给定数组中获取特定父级的所有子级和孙子级

来自分类Dev

使用 xml.etree.ElementTree 获取节点的所有子节点

来自分类Dev

在FancyTree中获取选定节点的父级

来自分类Dev

获取Groovy中XML节点的所有子节点的值

来自分类Dev

获取 XML 节点值和所有嵌套的列节点

来自分类Dev

使用xmlstarlet遍历xml并输出父级和子级节点值

来自分类Dev

使用xmlstarlet遍历xml并输出父级和子级节点值

Related 相关文章

  1. 1

    使用python获取xml节点的所有父级

  2. 2

    Neo4j父级-子级:获取所有顶级节点

  3. 3

    获取节点js中特定父级的所有子级

  4. 4

    使用递归函数获取所有XElement父级

  5. 5

    使用xpath获取父节点内的所有文本

  6. 6

    获取所有分层父级,直到mongodb中叶节点的根

  7. 7

    XML样式表可删除所有空子节点,但保持父级

  8. 8

    XML解析-仅从具有特定ID的父级获取节点

  9. 9

    具有字符串路径的分层数据-查询节点,获取其节点的所有父级和第一级

  10. 10

    使用属性获取XML树中所有节点的xpath-Python

  11. 11

    如何使用powershell仅导入父节点而从xml文件中保留所有子节点?

  12. 12

    使用Javascript获取XML中所有节点的名称

  13. 13

    使用Javascript获取XML中所有节点的名称

  14. 14

    php树获取子节点的所有父节点的列表

  15. 15

    在所有父级的树中任何节点的mysql中获取完整的父子关系树

  16. 16

    在复杂XML中使用Xpath读取父级的父级节点

  17. 17

    如何使用Scala获取XML文件的所有子级和子级

  18. 18

    在C#中以XML获取父级两级的节点值

  19. 19

    获取所有XML节点的路径

  20. 20

    自动获取所有节点xml

  21. 21

    使用python获取所有pytest节点ID的列表

  22. 22

    从Groovy xml节点中删除所有子级

  23. 23

    从给定数组中获取特定父级的所有子级和孙子级

  24. 24

    使用 xml.etree.ElementTree 获取节点的所有子节点

  25. 25

    在FancyTree中获取选定节点的父级

  26. 26

    获取Groovy中XML节点的所有子节点的值

  27. 27

    获取 XML 节点值和所有嵌套的列节点

  28. 28

    使用xmlstarlet遍历xml并输出父级和子级节点值

  29. 29

    使用xmlstarlet遍历xml并输出父级和子级节点值

热门标签

归档