Invalide XML Zeichen filtern?

  • Hey Forum,
    ich arbeitete gerade an einem script, welches einen haufen xml-logfiles( utf-8 :(

    1.In eine "tagesdatei" zusammenfassen und
    2. den inhalt dieser "tagesdatei" mit sax parst und in csv form bringt (ich benutze dazu xml2csv von A7Soft).

    Nun scheint aber die log-engine manchmal einen fehler zu machen und schreibt invalide zeichen in die xml datei ( und nein, ich kann leider nichts an der engine selber verändern :pinch: ) Teil 1 des scripts läuft super schnell und zuverlässig (auoit eben), wären keine fehler in den logfiles würde teil 2 auch hervoragend funktionieren...
    habt ihr eine idee, wie ich diese fehler umgehen kann? ich hatte an einen filter und anschließendes escapen der invaliden zeichen gedacht, finde aber keinen weg, das bei einem deart großen datenvolumen einfach gestalten zu können... auch die konvertierung des charsets von utf-8 auf utf-16/32 schafft keine abhilfe.
    Damit ihr einen bessere vorstellung bekommt, poste ich mal einige der fehlermeldungen des parsers:

    Code
    invalid byte 'S' at position 2 of a 2-byte sequence
    invalid byte 'l' at position 2 of a 2-byte sequence
    exceeded byte limit at byte '³' in a 6-byte sequence

    danke für jeglichen gerhirnschmalz den ihr in mein problem investiert!
    MfG
    d3ll_s0ul

    Einmal editiert, zuletzt von d3ll_s0ul (12. Juli 2010 um 13:18)

  • Treten diese Fehler auch bei der Originaldatei auf oder nur bei deinem Tageslog?

  • die orginaldatein sind jeweils ca 500kb groß, in ein tageslog, werden ca 70 dieser files zusammengefasst - der fehler taucht nur bei manchen dieser orginaldatein auf.
    mfg
    d3ll_s0ul

  • habe das ganze jetzt über eine ziemlich gruselige StringRexExp(Replace) Funktion gelöst.
    danke für die (leider eher spärliche) hilfe
    MfG
    d3ll_s0ul