[Python] Fehler beim encodieren eines Zeichens (UnicodeEncodeError)

Benji

Lieutenant
Registriert
Jan. 2004
Beiträge
974
Hallo!
Hab ein kleines Python Programm erstellt, welches eine XML-Datei mit xml.dom.minidom erstellt und es danach mit writexml() in eine Datei schreiben soll.
Jedoch ist in der erstellten XML-Datei ein Zeichen drin, was writexml() anscheinend nicht in ascii code umwandeln kann.
Deshalb kommt folgende Fehlermeldung:
Code:
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "loaddata.py", line 26, in guideList
    programm_xml = xml.dom.minidom.parseString(self.xml_list)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 1925, in parseString
    return expatbuilder.parseString(string)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.py", line 942, in parseString
    return builder.parseString(string)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.py", line 223, in parseString
    parser.Parse(string, True)
xml.parsers.expat.ExpatError: syntax error: line 1, column 49
>>> data = loaddata.LoadTVData("http://www.hoelzl-bros.de/~stefan/") >>> data.guideList("guide.xml")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "loaddata.py", line 62, in guideList
    dom.writexml(open(guide_xml, "w"))
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 1746, in writexml
    node.writexml(writer, indent, addindent, newl)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 821, in writexml
    node.writexml(writer,indent+addindent,addindent,newl)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 816, in writexml
    _write_data(writer, attrs[a_name].value)
  File "/usr/lib/python2.4/site-packages/_xmlplus/dom/minidom.py", line 306, in _write_data
    writer.write(data)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' in position 5: ordinal not in range(128)
Wie muss ich es programmieren, das er mir alle Zeichen die er nicht codieren kann einfach auslaesst oder ersetzt, aber nicht mit einem Fehler abbricht?

mfg Stefan
 

Ähnliche Themen

Zurück
Oben