Seite 1 von 1

[gelöst] XML + QT + Dom --> Elementname setzen ???

Verfasst: 24. Februar 2009 11:04
von flownfluid
Hallo zusammen,

irgendwie finde ich nichts zu dem Thema

mein XML:
<MyXml>
<Test>
<A1>adsddasd</A1>
<A2 t1=5 t2=19/A2>
</Test>
</MyXml>

Ich kann das Xml lesen und nun möchte ich ein solches vom QDomDocument generieren lassen.
Alles funktioniert prima nur weiss ich nicht wie ich das A1 generiern muss.

Code: Alles auswählen

QDomDocument o_doc("MyXml");
QDomElement o_elem = o_doc.createElement("Befehl");

  QDomElement o_tag = o_doc.createElement("A1");

//--> o_tag.setText("adsddasd") <--
//irgend so etwas müsste es doch geben oder nicht?
//finde einfach nichts was passt...

o_tag = o_doc.createElement("A2");
o_tag.setAttribute("t1",5);
o_tag.setAttribute("t2",19);
o_elem.appendChild(o_tag);

ich hoffe ihr könnt mir da bei dem kleinem Problem gerade helfen. Steh da momentan voll auf dem Schlauch...

Vielen Dank schon mal...

Verfasst: 24. Februar 2009 12:18
von franzf
Nimm doch anstatt QDomDocument::createElement() einfach QDomDocument::createTextNode().
Pass aber auf, QDomText ist ein eigenes DomNode, welches als child von A1 gesetzt werden muss.

Verfasst: 24. Februar 2009 12:55
von flownfluid
vielen Dank hat ausgezeichnet funktioniert...

Code: Alles auswählen

    QDomElement o_tag = o_doc.createElement("A1");
    QDomText    o_text  = o_doc.createTextNode("A1_Inhalt");
    o_text.setData("adsddasd");
    o_tag.appendChild(o_text);
    o_elem.appendChild(o_tag);

Verfasst: 24. Februar 2009 12:58
von franzf
flownfluid hat geschrieben:vielen Dank hat ausgezeichnet funktioniert...

Code: Alles auswählen

    QDomElement o_tag = o_doc.createElement("A1");
    QDomText    o_text  = o_doc.createTextNode("A1_Inhalt");
    o_text.setData("adsddasd");
    o_tag.appendChild(o_text);
    o_elem.appendChild(o_tag);
Wobei eigentlich reichen sollte

Code: Alles auswählen

QDomText    o_text  = o_doc.createTextNode("adsddasd");
.
Das setData kannste dir schenken.

Verfasst: 24. Februar 2009 13:12
von flownfluid
logisch, hmm steh heute echt aufm schlauch :x

gruss und danke