使用 xml.etree.ElementTree 在 Python 中进行简单的 dom 遍历

问题描述 投票:0回答:2
python xml dom elementtree
2个回答
4
投票

问题是你没有有一个名为

groupId
的孩子,你有一个名为
{http://maven.apache.org/POM/4.0.0}groupId
的孩子,因为etree不会忽略XML名称空间,它使用“通用名称”。请参阅 effbot 文档中的使用命名空间和限定名称


1
投票

为了扩展 abarnert 对 BeautifulSoup 的评论,如果你确实只是想要一个快速而肮脏的解决方案来解决问题,这可能是最快的方法。我已经实现了这个(用于个人脚本),它使用 bs4,您可以使用

遍历树
element = dom.getElementsByTagNameNS('*','elementname')

这将使用任何名称空间引用 dom,如果您知道文件中只有一个名称空间,那么这会很方便,因此不会产生歧义。

© www.soinside.com 2019 - 2024. All rights reserved.