使用python的ElementTree处理xml子对象

马克·霍尔斯

我正在使用程序生成的具有可怕标记的xml。我能够解析出我想要的东西,但我认为它不是非常pythonic。该计划的目标是总计totalLines条目等。我正在使用elementtree提取值。寻找简化我的语法的建议。

xml:

<?xml version="1.0"?>
<Status name="System Status">
<Bean name="SLMHandler" cn="com.open.eventCollector.OSLMHandler">
    <Status name="SLF File manager for SODLC2">
        <Prop name="totalLines">1105413065</Prop>
    </Status>
</Bean>

<Bean name="ThreadPool" cn="com.open.util.OThreadPoolBean">
    <Prop name="minThreads">5</Prop>
    <Prop name="maxThreads">25</Prop>
    <Prop name="checkedOutThreads">3</Prop>
    <Prop name="availableThreads">2</Prop>
    <Prop name="maxIdleTime">300000</Prop>
</Bean>

<Bean name="EventCollector" cn="com.open.eventCollector.OEventCollector">
    <Prop name="numUnmatchedLines">785319</Prop>

    <Status name="Adapters">

        <Status name="Logfile_EpilogWin_Generic">
            <Prop name="linesRead">0</Prop>
        </Status>
    </Status>
</Bean>

Python:

import xml.etree.cElementTree as ET
tree = ET.parse('test.xml')
root = tree.getroot()

for bean in root.findall('Bean'):
    for status in bean.findall('Status'):
        if 'Adapters' in status.get('name'):
            for status2 in status.findall('Status'):
                for prop in status2.findall('Prop'):
                    if 'linesRead' in prop.get('name'):
                        print prop.text
ec

不确定如何打印最终结果,但是可以使用单个XPath表达式一次性完成

for lines in root.findall('.//Bean/Status[@name="Adapters"]/Status/Prop[@name="linesRead"]'):
    print(lines.text)

打印0您的样本数据。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用xml子对象,Python中的ElementTree

来自分类Dev

使用elementtree遍历Python中子标记的XML子标记

来自分类Dev

使用Python ElementTree解析XML

来自分类Dev

使用ElementTree将新项目插入XML子元素的Python简便方法

来自分类Dev

使用xml.etree.ElementTree XML解析子元素

来自分类Dev

使用ElementTree的递归XML解析python

来自分类Dev

使用ElementTree Python获取检索XML属性

来自分类Dev

在Python中使用ElementTree从XML提取数据

来自分类Dev

使用Python ElementTree从XML中提取值

来自分类Dev

python xml.etree.ElementTree追加到子元素

来自分类Dev

使用 Python xml.etree.ElementTree 遍历 XML 树的问题

来自分类Dev

使用ElementTree修改XML

来自分类Dev

使用ElementTree解析XML

来自分类Dev

Python ElementTree:使用XPath通过子文本查找元素

来自分类Dev

使用Python和ElementTree在XML中搜索变量属性

来自分类Dev

如何使用ElementTree递归遍历Python中的XML标签?

来自分类Dev

使用ElementTree在Python中解析XML-findall

来自分类Dev

使用Python ElementTree / ElementInclude和xpointer访问包含的XML文件

来自分类Dev

如何使用ElementTree在python中制作xml树的副本?

来自分类Dev

使用python ElementTree解析XML:ParseError:标记不匹配

来自分类Dev

Python-使用ElementTree解析具有重复标签的XML

来自分类Dev

使用Python ElementTree从xml文档中提取文本

来自分类Dev

使用python中的ElementTree删除特定的xml标签

来自分类Dev

如何使用Python elementTree提取xml数据中的特定元素

来自分类Dev

使用Python ElementTree / ElementInclude和xpointer访问包含的XML文件

来自分类Dev

使用ElementTree在Python中解析XML-findall

来自分类Dev

使用python ElementTree库添加新的XML元素

来自分类Dev

使用 Python 3 ElementTree 的 XML 文档中的多个命名空间

来自分类Dev

如何使用 Python ElementTree 在 XML 解析期间检查条件

Related 相关文章

  1. 1

    使用xml子对象,Python中的ElementTree

  2. 2

    使用elementtree遍历Python中子标记的XML子标记

  3. 3

    使用Python ElementTree解析XML

  4. 4

    使用ElementTree将新项目插入XML子元素的Python简便方法

  5. 5

    使用xml.etree.ElementTree XML解析子元素

  6. 6

    使用ElementTree的递归XML解析python

  7. 7

    使用ElementTree Python获取检索XML属性

  8. 8

    在Python中使用ElementTree从XML提取数据

  9. 9

    使用Python ElementTree从XML中提取值

  10. 10

    python xml.etree.ElementTree追加到子元素

  11. 11

    使用 Python xml.etree.ElementTree 遍历 XML 树的问题

  12. 12

    使用ElementTree修改XML

  13. 13

    使用ElementTree解析XML

  14. 14

    Python ElementTree:使用XPath通过子文本查找元素

  15. 15

    使用Python和ElementTree在XML中搜索变量属性

  16. 16

    如何使用ElementTree递归遍历Python中的XML标签?

  17. 17

    使用ElementTree在Python中解析XML-findall

  18. 18

    使用Python ElementTree / ElementInclude和xpointer访问包含的XML文件

  19. 19

    如何使用ElementTree在python中制作xml树的副本?

  20. 20

    使用python ElementTree解析XML:ParseError:标记不匹配

  21. 21

    Python-使用ElementTree解析具有重复标签的XML

  22. 22

    使用Python ElementTree从xml文档中提取文本

  23. 23

    使用python中的ElementTree删除特定的xml标签

  24. 24

    如何使用Python elementTree提取xml数据中的特定元素

  25. 25

    使用Python ElementTree / ElementInclude和xpointer访问包含的XML文件

  26. 26

    使用ElementTree在Python中解析XML-findall

  27. 27

    使用python ElementTree库添加新的XML元素

  28. 28

    使用 Python 3 ElementTree 的 XML 文档中的多个命名空间

  29. 29

    如何使用 Python ElementTree 在 XML 解析期间检查条件

热门标签

归档