如何使用python计算xml特定的元素数?

时间:2018-05-23 07:20:39

标签: python xml

您好我正在尝试了解如何使用python计算XML中的特定元素编号。 请参阅以下示例

如果我想计算第一个AAA下BBB的数量,我该怎么办? 你可以看到第一个AAA下有3个BBB。

<data>
    <AAA>  -> The first AAA
        <CCC>
            <BBB>This</BBB>
        </CCC>
        <CCC>  
            <BBB>is</BBB>
        </CCC>
        <CCC>
            <BBB>test1</BBB>
        </CCC>
    </AAA>

    <AAA>
        <CCC>
            <BBB>This is test</BBB>
        </CCC>
    </AAA>

    <AAA>
        <CCC>
            <BBB>222222</BBB>
        </CCC>
        <CCC>
            <BBB>333333</BBB>
        </CCC>      
    </AAA>

这是我的代码来计算这些。

a=0

for AAA in root.findall('AAA')[a]:
    for CCC in AAA.findall('CCC'):
        for BBB in CCC.findall('BBB'):
            count = BBB.count()
            print(count)

但即使没有错误也不算数。 怎么了?我需要一些建议。

1 个答案:

答案 0 :(得分:1)

使用ElementTree

<强>演示:

import xml.etree.ElementTree as ET
doc = ET.fromstring(data)

for AAA in doc.findall('AAA'):
    print len(AAA.findall('CCC'))

<强>输出:

3
1
2