到达转义字符时,来自iterparse的Python ElementTree ParseError {XML}

时间:2017-04-18 05:50:22

标签: python xml parsing xml-parsing elementtree

此问题似乎与this one from 2013有关,但对我没有帮助。

我即将解析一个大的(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

处理这个问题的最佳方法是什么?解析未转义的'ö'实际上很好用:

<author>Sanjeev Saxöna</author>

是否有一种简单的方法可以以编程方式取消整个XML文件?

1 个答案:

答案 0 :(得分:0)

正如Soulaimane Sahmi链接的答案所示,我在XML文件中添加了一个内联DTD。它可能不是最好的解决方案,但它现在有效。