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