Problem mit QDomElement

Alles rund um die Programmierung mit Qt
Antworten
abenstex
Beiträge: 30
Registriert: 12. September 2006 16:33

Problem mit QDomElement

Beitrag von abenstex »

Hallo zusammen,

ich habe eine XML-Datei nach folgendem Muster:

Code: Alles auswählen

<tag1>
  <tagA label="foo">abc</tagA>
  <tagA label="bar">def</tag>
</tag1>
Jetzt will ich für ein tagA-Element mit einem bestimmten label den Wert ändern sprich für das Element tagA mit label foo soll der Text von abc nach 123 geändert werden. Mein Problem ist jetzt dass

Code: Alles auswählen

setNodeValue(QString s)
bei einem QDomElement anscheinend keine Wirkung zeigt, das heisst, dass sich der Wert nicht ändert, und dass ich bei einem QDomText die Attribute nicht überprüfen kann.

Hat irgendwer ne Idee? Vermutlich steh ich nur furchtbar auf dem Schlauch...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Das QDomElement hat ein QDomText oder etwas ähnliches als child. Von diesem sollte sich der Text ändern lassen.
abenstex
Beiträge: 30
Registriert: 12. September 2006 16:33

Beitrag von abenstex »

Das habe ich schon versucht:

Code: Alles auswählen

el.toText().setNodeValue(QString::number(value));
            
            if(!attributeName.isEmpty())
            {
                el.setAttribute(attributeName, attributeValue);
            }
            m_doc.appendChild(el);
aber der Wert im Dokument ändert sich nicht.
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Nicht el.toText(). Du sollst die childnodes von el abklappern, schauen ob die nach QTextNode konvertierbar sind, und dann da den Text setzen. Ein Beispiel hast du direkt in der Doku zu QDomElement.
Antworten