如何使用python获取XML标记中子元素的大小/长度

时间:2013-11-21 08:47:27

标签: python xml.etree

我是python的新手,我想知道如何在父标记中获取子元素的大小或数量,让我们说participants。我们的想法是在participant代码中获取participants的数量。

这是xml:

<participants>
  <participant>
    <userId>James</userId>
    <role>Author</role>
  </participant>
  <participant>
    <userId>Alex</userId>
    <role>Reader</role>
  </participant>
</participants>

我正在使用xml:

import xml.etree.ElementTree as ET作为模块

ET分配了dom = ET.fromstring(output)

到目前为止,为了解析xml,我编写了以下代码:

for participant in dom.iter('participant'): 
    userId = participant.find('userId').text
    role = participant.find('role').text

但是我想在participant标签中获取participants的数量/长度,这是我正在尝试做的但它没有给我这个长度:

print 'length', dom.findall('participants').length

我想要的输出应该是:

length 2

3 个答案:

答案 0 :(得分:3)

尝试

print(len(dom.findall('participant')))

答案 1 :(得分:2)

这应该给你长度:

root = tree.getroot()
length = len(root.findall('participant'))
print length

答案 2 :(得分:1)

>>> dom.findall('participant')
[<Element 'participant' at 0x10dd74090>, <Element 'participant' at 0x10dd74250>]
>>> len(dom.findall('participant'))
2