如何在ElementTree中使用getElementsByTagName()?

4 投票
1 回答
2034 浏览
提问于 2025-04-17 05:26

我之前用过Python的miniDom库。它有一个我在ElementTree库中找不到的实用方法:

getElementsByTagName('bar')

getElementsByTagName()这个方法可以找到所有名字为'bar'的子节点,不管它们在多深的层级上,因此它是递归工作的。这通常是个好事,但如果在多个层级上有相似的节点,而中间的节点又很重要的话,就可能会出现问题。

来源: http://wiki.python.org/moin/MiniDom

ElementTree中有没有类似的功能呢?我查阅了文档,但没找到。

1 个回答

7

ElementTree使用一种简化版的XPath来选择XML树中的节点。你可以用 tree.findall( './/bar' ) 来找到树中所有的 bar 节点。

撰写回答