计算xml文件中相关元素的数量

时间:2017-07-12 11:12:48

标签: python xml xml-parsing minidom

我有一个具有以下结构的xml文件:

<?DOMParser ?> 
<logbook:LogBook xmlns:logbook="http://www/logbook/1.0"  version="1.2">
<product>
    <serialNumber value="764000606"/>
</product>
<visits>
<visit>
    <general>
        <startDateTime>2014-01-10T12:22:39.166Z</startDateTime>
        <endDateTime>2014-03-11T13:51:31.480Z</endDateTime>
    </general>
    <parts>
        <part number="03081" name="WSSA" index="0016"/>
    </parts>
</visit>
<visit>
<general>
    <startDateTime>2013-01-10T12:22:39.166Z</startDateTime>
    <endDateTime>2013-03-11T13:51:31.480Z</endDateTime>
</general>
<parts>
    <part number="02081" name="PSSF" index="0017"/>
    <part number="04081" name="PSRF" index="0027"/>
</parts>
</visit>
</visits>
</logbook:LogBook>

如何获得每次访问的部件数量?

import xml.dom.minidom as minidom 
doc = minidom.parse('test.xml')
visitcount=len(doc.getElementsByTagName('visit'))

这给了我2次访问,但我怎么知道每次访问中有多少部分存在?我想得到这个输出:[1,2],意味着在第一次访问中,存在一个部分,在第二次访问中存在两个部分。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

import xml.dom.minidom as minidom 
doc = minidom.parse('test.xml')
visits = doc.getElementsByTagName('visit')
partcount = [len(visit.getElementsByTagName('part')) for visit in visits]
print(partcount)  # => [1, 2]