使用ElementTree解析XML中的子元素

时间:2018-07-12 08:44:27

标签: python xml parsing elementtree

我正在尝试使用Pyhton 3.2中的ElementTree从XML文档中提取信息。

XML看起来像这样:

<Page Id="1">
    <Group>4</Group>
    <Type>
        <Letter>B</Letter>
        <Number>101</Number>
        <Deep>
            <A>900</A>
            <B>900</B>
        </Deep>
    </Type>
</Page>

我设法通过以下方式从“组”中获取元素数据:

for Page in root.iter('Page'):
     Group = Page.find('Group').text

“字母”数据:

for Type in root.iter('Type'):
     Dim = Type.find('Letter').text

但是我无法弄清楚如何从“ Deep”(A和B)的子子级获取数据。 感谢所有帮助!

1 个答案:

答案 0 :(得分:0)

您非常亲密。使用find查找Deep标记并对其进行迭代。

例如:

import xml.etree.ElementTree as ET
tree = ET.parse(filename)
root = tree.getroot()
for Type in root.iter('Type'):
    for deep_tag in Type.find("Deep"):
        print( deep_tag.text )

输出:

900
900