Wie kann ich utf-8 xml mit ElementTree richtig analysieren?
Ich brauche Hilfe, um zu verstehen, warum ich meine XML-Datei * mit analysierexml.etree.ElementTree erzeugt die folgenden Fehler.
*Meine Test-XML-Datei enthält arabische Zeichen.
Aufgabe: Öffnen und analysierenutf8_file.xml
Datei.
Mein erster Versuch:
import xml.etree.ElementTree as etree
with codecs.open('utf8_file.xml', 'r', encoding='utf-8') as utf8_file:
xml_tree = etree.parse(utf8_file)
Ergebnis 1:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 236-238: ordinal not in range(128)
Mein zweiter Versuch:
import xml.etree.ElementTree as etree
with codecs.open('utf8_file.xml', 'r', encoding='utf-8') as utf8_file:
xml_string = etree.tostring(utf8_file, encoding='utf-8', method='xml')
xml_tree = etree.fromstring(xml_string)
Ergebnis 2:
AttributeError: 'file' object has no attribute 'getiterator'
Bitte erläutern Sie die obigen Fehler und kommentieren Sie die mögliche Lösung.