我正在研究一个 xml 解析器。目标是解析多个不同的 xml 文件,其中前缀和标签保持一致,但名称空间发生变化。
因此,我正在尝试:
- 解析 xml 而
<prefix:tags>
不用命名空间解析(替换)前缀。前缀在文档之间保持不变。 - 自动加载命名空间,以便标识符 (
<prefix:tag>
) 可以替换为正确的命名空间。 - 只需按标签解析xml
我试过了xml.etree.ElementTree
。
我还看了看,lxml
我没有在 lxml 中找到任何可以帮助我的XMLParser配置选项,尽管在这里我可以阅读作者建议lxml
应该能够自动为我收集命名空间的答案。
有趣的是,parsed_file = etree.XML(file)
失败并出现错误:
lxml.etree.XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1
我想解析的文件的一个例子是here