/ / Python ElementTree ParseError von iterparse beim Erreichen des Escape-Zeichens (XML) - Python, XML, Parsing, XML-Parsing, Elementbaum

Python ElementTree ParseError von Iterparse beim Erreichen von Escape-Zeichen (XML) - Python, XML, Parsing, XML-Parsing, Elementbaum

Diese Frage scheint verwandt zu sein dieses aus 2013, aber es hat mir nicht geholfen.

Ich bin dabei, eine große (2 GB) XML-Datei zu parsen, und plane, dies mit Python 3.5.2 und ElementTree zu tun. Ich bin neu in Python, aber es funktioniert gut, bis ein Fluchtzeichen erreicht wird, wie zum Beispiel:

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

Rückkehr:

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

Mein Code sieht ungefähr so ​​aus:

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

Was ist der beste Weg, um damit umzugehen?

<author>Sanjeev Saxöna</author>

Gibt es eine einfache Möglichkeit, die gesamte XML-Datei programmgesteuert aufzuheben?

Antworten:

0 für die Antwort № 1

Wie in der Antwort von Soulaimane Sahmi vorgeschlagen, fügte ich der XML-Datei eine Inline-DTD hinzu. Es ist vielleicht nicht die beste Lösung, aber im Moment funktioniert es.