有没有办法使用Python计算xml文件中某个名称的元素数量?

我在
Windows 64位计算机上使用
Python 3.4.

我目前有一个xml文件,它有多个层次结构. xml树中有许多名称为“paragraph”的元素.但他们可能处于不同的等级制度.

有没有办法以简单的方式计算这些元素的数量?遍历整棵树似乎太费时间了.

最佳答案 如果您使用
lxml.etree,那么您将获得完整的XPath支持并可以使用
count()

import lxml.etree as ET

tree = ET.parse(xml)
paragraphs = tree.xpath('count(//p)')
print(paragraphs)

xml.etree.ElementTree中,由于limited XPath support,你必须在Python中通过findall()和len()来完成它:

import xml.etree.ElementTree as ET

tree = ET.parse(xml)
paragraphs = tree.findall('//p')
print(len(paragraphs)) 
点赞