XML Ausgabe in Datei speichern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

XML Ausgabe in Datei speichern

Beitragvon Hanman » Samstag 28. Oktober 2006, 09:35

Hallo,
ich möchte mit SAX einige Daten aus einer XML Datei auslesen und in einer anderen speichern. Dafür nutze ich folgende Funktion:

Code: Alles auswählen

 
 def characters(self, characters):
        if self.inPage:
            f = open(self.titel,"w")
            f.write(characters.encode('iso-8859-15'))
        elif self.inTitel:
            self.titel = characters


Wenn ich das ganze allerdings ausführe kommt folgende Fehlermeldung:

Traceback (most recent call last):
File "D:\wikipedia\wiki.py", line 12, in -toplevel-
saxparser.parse("wiki.xml")
File "G:\Python24\lib\xml\sax\expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "G:\Python24\lib\xml\sax\xmlreader.py", line 123, in parse
self.feed(buffer)
File "G:\Python24\lib\xml\sax\expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "D:\wikipedia\handlers.py", line 25, in characters
f.write(characters.encode('iso-8859-15'))
File "G:\Python24\lib\encodings\iso8859_15.py", line 18, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2013' in position 8: character maps to <undefined>


Woran kann das liegen?

Viele Grüße
Hanman[/code]
'Ich liebe es wenn ein Plan funktioniert'
BlackJack

Beitragvon BlackJack » Samstag 28. Oktober 2006, 11:15

Das liegt daran das es in ISO-8859-15 keinen `EN DASH` gibt, der aber in der Unicode-Zeichenkette vorkommt.

Code: Alles auswählen

In [7]: unicodedata.name(u'\u2013')
Out[7]: 'EN DASH'
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

Beitragvon Hanman » Samstag 28. Oktober 2006, 13:10

Heyho,
danke, mit UTF-8 gehts!
'Ich liebe es wenn ein Plan funktioniert'

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]