ich benutze Python 2.6 auf einem WindowsXP.
Was ich vorhabe:
Ich habe einen Ordner mit x XML-Dateien, welche ich alle einzeln parse (natürlich mit for... ) und mir die XML-Dateien in einen anderen Ordner kopiere, wenn der Inhalt eines bestimmten Tags nicht meiner Konvertierung folgt.
Mein Problem:
Es funktioniert alles soweit so gut, bis das Programm auf eine XML-Datei stößt, welche Umlaute enthält. Jedoch steht im Header der einzelnen Dateien
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8" ?>
not well-formed (invalid token): line 11, column 19
Nun bin ich ehrlich gesagt so langsam mit meinem Latein am Ende. Wenn ich nach der Fehlermeldung google, heißt es dort, dass ich die Codierung auf UTF-8 ändern soll - aber laut XML-Header ist es doch schon UTF-8?! Auch habe ich schon mit
Code: Alles auswählen
.encode().decode()
Hat jemand eine Idee, wo mein Fehler liegen könnte?
Und hier noch ein Ausschnitt meines Codes:
Code: Alles auswählen
for datei in pfad:
try:
tree = ElementTree.parse(Pfad+ "\\" + datei)
tables = tree.getroot().getchildren()
for leaf in tables:
leafOrder = leaf[0].getchildren()
for tag in leafOrder:
singleTag = tag.tag
if singleTag == 'No':
if len(tag.text) > 8:
shutil.copy2(Pfad + "\\" + datei, AussortierteDateien)