QT && XML erweitern
Verfasst: 23. Dezember 2009 14:12
Hallo Leute,
ich versuche vergeblich ein vorhandenes XML-File um neue Einträge zu erweitern.
Das ganze soll eine kleine Adressbeschreibung darstellen.
Beim hinzufügen über die GUI sollen neue elemente erstellt, mit Inhalt gefüllt und an das bereits existierende XML angehängt werden.
Bisher werden die neuen Elemente allerdings an das Ende der Datei geschrieben. Das ganze sieht dann so aus!
Das ist ein Ausschnit aus meinem Code zum erstellen und "anhängen" der neuen Elemente
Ich bin was QT betrifft ein ziemlicher neuling vielleicht kann mir hier ja jemand helfen.
thx
LiCeT
ich versuche vergeblich ein vorhandenes XML-File um neue Einträge zu erweitern.
Das ganze soll eine kleine Adressbeschreibung darstellen.
Beim hinzufügen über die GUI sollen neue elemente erstellt, mit Inhalt gefüllt und an das bereits existierende XML angehängt werden.
Bisher werden die neuen Elemente allerdings an das Ende der Datei geschrieben. Das ganze sieht dann so aus!
Code: Alles auswählen
<adr>
<pers id="1" >
<vname>text</vname>
</pers>
</adr>
<pers id="2" >
<vname>text</vname>
</pers>Code: Alles auswählen
const int Indent = 4;
QFile file("adr.xml");
if (!file.open(QIODevice::WriteOnly | QIODevice::ReadWrite))
QMessageBox::information(this, tr("Open Error"),
tr("Couldn't open file!"));
QDomDocument doc;
if(!doc.setContent(&file)) {
qDebug() << "setContent Error";
}
QDomElement root = doc.documentElement();
QDomElement person = doc.createElement("person");
QDomElement vname = doc.createElement("vname");
doc.appendChild(person);
person.appendChild(vname);
QDomText vnameText = doc.createTextNode(ui.VnameEdit->text());
person.appendChild(name);
vname.appendChild(vnameText);
QTextStream out(&file);
doc.save(out, Indent);
file.close();thx
LiCeT