XML-Dokument in Unicode speichern?

Alles rund um die Programmierung mit Qt
Antworten
qrk123
Beiträge: 32
Registriert: 4. Dezember 2009 13:19

XML-Dokument in Unicode speichern?

Beitrag von qrk123 »

Hallo,

ich möchte eine XMLDatei lesen, verändern und wieder speichern. Funktioniert gut, bis auf die Unicodezeichen, die nach dem Speichern nicht mehr angezeigt werden. Also muss die Datei im letzten Schritt auch als Unicode abgespeichert werden. Wird sie im Moment noch nicht.

Bisher habe ich ein wenig die Doku gelesen. Ich habe zwei Ansätze gefunden, weiß aber nicht wirklich wie man diese jetzt benutzt.

1) QFile::EncoderFn Scheinbar kann man hier der QFile direkt eine encoderfunciton angeben. Allerdings sind in der Doku hierzu keine Funktionen angegeben, was mich nicht weiterführt.

2) String::fromUTF() Hier kann man scheinbar auf den Textstream zugreifen, wie man die Funktion nutzt weiß ich aber auch nicht, da sie *Char Argumente fordert und meine String des QTextStreams nicht akzeptiert werden. oder brauche ich hier String::toUtf8? das gibt QByteArray zurück. Bekomme ich das dann in den QTextStream?

Da mich die Doku nicht weiterführt hoffe ich hier einen Tipp zu bekommen.

vielen Dank
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Verwende doch die Qt-Klaseen. Entweder gleich mit QDomDocument und Konsorten, oder halt den QXmlStreamReader/Writer.
qrk123
Beiträge: 32
Registriert: 4. Dezember 2009 13:19

Beitrag von qrk123 »

Ich nutze bereits ein QDomDocument, kann ich das selbst auf unicode umstellen? hab dazu nichts in der Doku gefunden....
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

qrk123 hat geschrieben:Ich nutze bereits ein QDomDocument, kann ich das selbst auf unicode umstellen? hab dazu nichts in der Doku gefunden....

Code: Alles auswählen

// doc ist dein QDomDocument
// outFile dein QFile
QTextStream stream(&outFile);
doc.save(stream, 4);
QDomNode::save() (QDomDocument erbt ja von QDomNode) sagt dir auch, wie das Encoding gewählt wird, du musst dich um absolut nix mehr kümmern :)
qrk123
Beiträge: 32
Registriert: 4. Dezember 2009 13:19

Beitrag von qrk123 »

wow, vielen Dank. Hat grad auf Anhieb funktioniert :)
Antworten