Python ElementTree解析未绑定的前缀错误

Kin*_*arō 15 python xml prefix elementtree

我在python中学习ElementTree.一切似乎都很好,除非我尝试用前缀解析xml文件:

test.xml:

<?xml version="1.0"?>
<abc:data>
   <abc:country name="Liechtenstein" rank="1" year="2008">
   </abc:country>
   <abc:country name="Singapore" rank="4" year="2011">
   </abc:country>
   <abc:country name="Panama" rank="5" year="2011">
   </abc:country>
</abc:data>
Run Code Online (Sandbox Code Playgroud)

当我尝试解析xml时:

import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

xml.etree.ElementTree.ParseError: unbound prefix: line 2, column 0
Run Code Online (Sandbox Code Playgroud)

我是否需要指定一些内容才能解析带有前缀的xml文件?

Thi*_*iru 15

将abc命名空间添加到xml文件中.

<?xml version="1.0"?>
<abc:data xmlns:abc="your namespace">
Run Code Online (Sandbox Code Playgroud)

  • 但是,当我的XML不能改变时,我只需要解析它? (21认同)
  • 我支持@Mark Allen 的问题/评论!我有同样的问题。当然,可以根据具体情况编辑文件,但我有许多大型(且不统一)的 xml 文件。当然有办法解决这个问题 (3认同)