使用 cElementTree 从 XML 查找所有节点

发布于 2024-07-08 12:05:18 字数 65 浏览 12 评论 0原文

有没有办法使用 cElementTree 查找 xml 树中的所有节点? findall 方法仅适用于指定的标签。

Is there a way to find all nodes in a xml tree using cElementTree? The findall method works only for specified tags.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拥抱影子 2024-07-15 12:05:18

您可以在 findall 方法上使用 XPath 路径

1.2版本支持简单
元素位置路径。 在其
最简单的形式,位置路径是一个
或多个标签名称,用分隔符分隔
斜杠 (/)。

您还可以使用星号 (*)
而不是标签名称,以匹配所有
该级别的元素。 例如,
*/subtag 返回所有子标签孙子。

空标签(//)用于搜索
树的所有级别,在
当前水平。 空标签必须
后面始终跟有标签名称或
星号。

etree.findall('.//*')

You can use XPath paths on the findall method:

The 1.2 release supports simple
element location paths. In its
simplest form, a location path is one
or more tag names, separated by
slashes (/).

You can also use an asterisk (*)
instead of a tag name, to match all
elements at that level. For example,
*/subtag returns all subtag grandchildren.

An empty tag (//) is used to search on
all levels of the tree, beneath the
current level. The empty tag must
always be followed by a tag name or an
asterisk.

etree.findall('.//*')
北恋 2024-07-15 12:05:18

你看过node.getiterator()吗?

Have you looked at node.getiterator()?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文