(solved)QDomElement.setText() --- wieso geht das nicht ???

Alles rund um die Programmierung mit Qt
Antworten
hilby
Beiträge: 31
Registriert: 31. Mai 2006 16:26

(solved)QDomElement.setText() --- wieso geht das nicht ???

Beitrag von hilby »

Hi Leute,
Ich bin hier wieder mal am verzweifeln...
ich suche schon den halben Tag :cry:

ausgehend vom XML-Beispiel
c:\Qt\4.2.2\examples\xml\dombookmarks\
versuche ich in einer XML-Struktur den Text zu ändern, also:

Code: Alles auswählen

    <previewtext> Anja </previewtext>
einfach ändern zu :
    <previewtext> Hilby </previewtext>
versucht hab ich es mit:

Code: Alles auswählen


void XbelTree::updateDomElement(QTreeWidgetItem *item, int column)
{
   QDomElement element = domElementForItem.value(item);
   QDomText   dateText = domDocument.createTextNode (item->text(1));
   QDomElement oldText = element.firstChildElement();
    if(!oldText.isNull()) {       element.replaceChild (oldText,dateText);}
      else element.appendChild (dateText);
} 


ich erreiche immer nur ein append....

wie kann ich den Text überschreiben ?

element.setTagName ("doofname" );
element.setAttribute("test", "doofattribut");

- geht alles, aber es gibt ja kein setText() !

hat jemand eine Idee ?

der hilby
:cry:
Zuletzt geändert von hilby am 15. Juni 2007 15:41, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

element.firstChildElement();
Text ist kein Element

Code: Alles auswählen

QDomNode oldText=element.firstChild();
...
hilby
Beiträge: 31
Registriert: 31. Mai 2006 16:26

Beitrag von hilby »

ok, das stimmt...

aber ich bekomme trotzdem den Text nicht ersetzt...

Code: Alles auswählen


QDomNode oldText = element.firstChild();

if(!oldText.isNull()) 
{
                 element.replaceChild (oldText,dateText);
}
:?
hilby
Beiträge: 31
Registriert: 31. Mai 2006 16:26

Beitrag von hilby »

ich bin doof ! - na es ist Freitag....

Code: Alles auswählen


                QDomNode oldText = element.firstChild();
                oldText.setNodeValue (item->text(1));
funzt prima :D

schönes weekend !
der hilby
Antworten