2017-04-18 121 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。这可能不是最好的解决方案,但它现在可行。