2012-11-14 79 views
9

我在Python中學習ElementTree。一切似乎除了罰款時,我嘗試解析與前綴xml文件:Python ElementTree解析未綁定的前綴錯誤

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> 

當我試圖解析XML:

import xml.etree.ElementTree as ET 
tree = ET.parse('test.xml') 

我得到了以下錯誤:

xml.etree.ElementTree.ParseError: unbound prefix: line 2, column 0 

我是否需要指定某些內容才能解析帶前綴的xml文件?

+3

總之你有一個缺少abc的命名空間。看看:http://stackoverflow.com/a/4999510/1107807 –

回答

11

將abc命名空間添加到您的xml文件中。

<?xml version="1.0"?> 
<abc:data xmlns:abc="your namespace"> 
+14

但是,當不是我的XML改變,我只需要解析它? –

+1

我是第二個來自@Mark Allen的問題/評論!我有同樣的問題。當然,在個案的基礎上可以編輯文件,但我有許多大的(和不一致的)xml文件。當然有一種方法可以解決這個問題 – dnh37

相關問題