如何获取xml文件中另一个子标签下的所有子标签及其属性?蟒蛇

时间:2019-07-23 06:14:11

标签: python xml

我有一个带有根节点的xml文件。 在根目录下,我有另一个节点,在其下还有另一个节点。

我想获得子标签及其子标签的所有属性和值。 我想使用菜单名称来做到这一点。 例如,找到“文件”菜单及其所有子标签及其属性的属性。

我的xml文件具有以下格式:

<root>

      <Menu name="File" text="File" toolTip="File" hide="yes">
        <Action name="file2"/>
        <Action name="file3"/>

        </Action>
    </Menu>
</root>

我基本上需要所有这些:

 <Menu name="File" text="File" toolTip="File" hide="yes">
    <Action name="file2"/>
    <Action name="file3"/>

    </Action>
</Menu>

我如何使用python做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用xml.etree.ElementTree模块。 文档:https://docs.python.org/3/library/xml.etree.elementtree.html#module-xml.etree.ElementTree

这是一个例子:

import xml.etree.ElementTree as ET

# parse a .xml file
tree = ET.parse('test.xml') 

# get the root tag from the xml
root = tree.getroot() 

# for each child tag of 'Menu' prints attributes names and values
for child in root.find('Menu'):
    print(child.items())