簡體   English   中英

如何使用python計算xml特定元素編號?

[英]how to count xml specific element numbers using python?

嗨,我想知道如何使用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

這對我有用:

from xml.etree import ElementTree

xml_text = ElementTree.parse('your_file.xml')
dom = xml_text.getroot()
results = sum([1 for entry in dom.getiterator('BBB')])
print(results)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM