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

标签 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)

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

最佳答案

使用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

关于python - 如何使用python计算xml特定元素的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50482188/

相关文章:

python - 用从变量中随机选择的整数替换整数

python - 使用补丁模拟 pyarrow.parquet

java - 如何使用 JAXB 忽略绑定(bind)到 XML 的字段

c# - Xml 不保存到文件

python - Django NoReverseMatch 位于/accounts/password/reset/用于密码重置

python Pandas : How to create a binary matrix from column of lists?

python - 如何在 Django 1.6 应用程序中实现 Markdown ?

java - 通过 Java Spring 构建 sitemap.xml

java - JAXB 解码未知 XML 内容的子集

xml - 在 Liferay 中包含静态站点地图