Seite 1 von 1

[geloest] Text eines QDomElements ändern

Verfasst: 17. Januar 2008 22:53
von Qt_Starter
Hallo,

ich hoffe mir kann jemand die vermutlich einfache Frage beantworten, wie man den Text zwischen zwei Tags verändern kann.

Beispiel XML:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<buch>
    <index>1</index>
</buch>
Dabei würde ich gerne den Wert der 1 verändern, damit es zum Beispiel so aussieht:

Code: Alles auswählen

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<buch>
    <index>8</index>
</buch>
Hat jemand eine einfache Antwort für mich? :oops:

Verfasst: 18. Januar 2008 09:06
von upsala
'buch' und 'index' sind QDomElemente, '1' ist eine QDomText. Aber beides sind QDomNode.

@upsala

Verfasst: 18. Januar 2008 13:25
von Qt_Starter
Soweit ganz klar:
'buch' und 'index' sind QDomElemente, '1' ist eine QDomText. Aber beides sind QDomNode.
Jedoch gibt es weder bei QDomNode, noch bei QDomText eine "void setText(QString &text)"-Methode. Das einzige, was ich in der Doku gefunden habe ist, das QDomText von QDomCharacterData erbt und es so die Methode
"void setData ( const QString & v )" gibt.

Oder kann ist es notwendig von dem Knoten <index> noch eine Ebene Tiefer zu gehen( zum Beispiel mit "QDomNode firstChild () const " , aber wie würde ich dann an den Text kommen?

Verfasst: 18. Januar 2008 19:50
von upsala
Das erste Child von 'index' ist doch dein QDomText. Und wie du den Text davon änderst hast du ja schon selbst rausgefunden.

@upsala

Verfasst: 18. Januar 2008 21:28
von Qt_Starter
Danke!
So funktioniert es :D !