2017-04-18 34 views
0

この質問はthis one from 2013と関連しているようですが、それは私を助けませんでした。Python ElementTreeエスケープ文字(XML)に到達するときのiterparseからのParseError

私は大きな(2GB)XMLファイルを解析しようとしており、Python 3.5.2とElementTreeを使ってXMLファイルを解析しようとしています。私は、Pythonに新たなんだけど、それはのような、任意のエスケープ文字に達するまでうまく機能:

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

を返す:

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

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

私のコードは次のようになりますこれに対処する最良の方法は何ですか?エスケープされていない「O」を構文解析すると、実際に正常に動作します:

<author>Sanjeev Saxöna</author> 

は、プログラム全体のXMLファイルをアンエスケープする簡単な方法はありますか?

+1

ここに回答があります。

+0

ありがとうございます!その答えは私を助けました。 –

答えて

0

私はSoulaimane Sahmiがリンクしている回答で示唆されているように、XMLファイルにインラインDTDを追加しました。そこには最高の解決策ではないかもしれませんが、今のところうまくいきます。

関連する問題