2017-04-18 122 views
0

此問題似乎與this one from 2013有關,但它沒有幫助我。Python ElementTree從iterparse達到轉義字符(XML)時ParseError

我正要解析一個大的(2GB)XML文件,並計劃用Python 3.5.2和ElementTree來完成它。我是新來的Python,但它工作得很好,直到達成任何轉義字符,如:

<author>Sanjeev Sax&ouml;na</author> 

返回:

test.xml 
    File "<string>", line unknown 
ParseError: undefined entity &ouml;: line 5, column 19enter code here 

我的代碼看起來是這樣的:

import xml.etree.ElementTree as etree 
for event, elem in etree.iterparse('test_esc.xml'): 
    # do something with the node 

處理這個問題的最好方法是什麼?解析轉義「O」的實際工作正常:

<author>Sanjeev Saxöna</author> 

有一種簡單的方法以編程方式UNESCAPE整個XML文件?

+1

有一個答案在這裏

+0

謝謝!那個答案幫助了我。 –

回答

0

正如Soulaimane Sahmi所鏈接的答案所建議的那樣,我在XML文件中添加了一個內聯DTD。這可能不是最好的解決方案,但它現在可行。