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öna</author>
Rückkehr:
test.xml
File "<string>", line unknown
ParseError: undefined entity ö: 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 № 1Wie 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.