Seite 1 von 1

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

Verfasst: 15. Juni 2007 12:17
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:

Verfasst: 15. Juni 2007 12:23
von upsala
element.firstChildElement();
Text ist kein Element

Code: Alles auswählen

QDomNode oldText=element.firstChild();
...

Verfasst: 15. Juni 2007 15:27
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);
}
:?

Verfasst: 15. Juni 2007 15:40
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