使用xml子对象,Python中的ElementTree

马克·霍尔斯

我正在使用程序生成的具有可怕标记的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

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

来自分类Dev

在ElementTree中检查XML Element是否有子级

来自分类Dev

使用ElementTree的递归XML解析python

来自分类Dev

使用ElementTree Python获取检索XML属性

来自分类Dev

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

来自分类Dev

使用ElementTree获取python3中的所有xml属性值

来自分类Dev

使用Python ElementTree解析XML

来自分类Dev

Python和ElementTree:如何在XML中嵌套元素/子元素?

来自分类Dev

使用ElementTree在Python中解析XML-findall

来自分类Dev

使用python删除XML中的子元素

来自分类Dev

使用python的ElementTree处理xml子对象

来自分类Dev

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

来自分类Dev

从Python中的XML数据创建字典(使用xml.etree.ElementTree)

来自分类Dev

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

来自分类Dev

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

来自分类Dev

在Python中,如何使用xml.etree.ElementTree创建数据框?

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

使用Python ElementTree从XML中提取值

来自分类Dev

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

来自分类Dev

Python 2.5:XML中的ElementTree和UML

来自分类Dev

使用ElementTree在Python中解析XML-findall

来自分类Dev

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

来自分类Dev

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

来自分类Dev

Python:使用 ElementTree 访问 WaterML (xml) 文件中嵌套子项的值

来自分类Dev

如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

来自分类Dev

Python xml.ElementTree - 在变量中返回解析后的 xml 以供稍后使用的函数

来自分类Dev

如何使用 ElementTree 在 Python 中迭代 XML 标签并保存到 CSV

Related 相关文章

  1. 1

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

  2. 2

    在ElementTree中检查XML Element是否有子级

  3. 3

    使用ElementTree的递归XML解析python

  4. 4

    使用ElementTree Python获取检索XML属性

  5. 5

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

  6. 6

    使用ElementTree获取python3中的所有xml属性值

  7. 7

    使用Python ElementTree解析XML

  8. 8

    Python和ElementTree:如何在XML中嵌套元素/子元素?

  9. 9

    使用ElementTree在Python中解析XML-findall

  10. 10

    使用python删除XML中的子元素

  11. 11

    使用python的ElementTree处理xml子对象

  12. 12

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

  13. 13

    从Python中的XML数据创建字典(使用xml.etree.ElementTree)

  14. 14

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

  15. 15

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

  16. 16

    在Python中,如何使用xml.etree.ElementTree创建数据框?

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

    使用Python ElementTree从XML中提取值

  21. 21

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

  22. 22

    Python 2.5:XML中的ElementTree和UML

  23. 23

    使用ElementTree在Python中解析XML-findall

  24. 24

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

  25. 25

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

  26. 26

    Python:使用 ElementTree 访问 WaterML (xml) 文件中嵌套子项的值

  27. 27

    如何使用 python 从soap响应中的多个命名空间获取数据:xml.etree.ElementTree

  28. 28

    Python xml.ElementTree - 在变量中返回解析后的 xml 以供稍后使用的函数

  29. 29

    如何使用 ElementTree 在 Python 中迭代 XML 标签并保存到 CSV

热门标签

归档