Einfügen in ein XML-File
Verfasst: 1. Dezember 2009 18:05
Hey
Ich habe folgendes XML-File:
Ich möchte nun das File auslesen, gleichzeitig aber am Ende einige neue <buddy>-Elemente anfügen. Dazu habe ich folgenden Code, um ins File zu schreiben (der Teil, mit dem ich auslese, hab ich weggelassen, denn der funktioniert einwandfrei.)
Kann mir jemand erklären, wieso das ganze kopiert und dann eingefügt wird??
gruss und danke
theheader
Ich habe folgendes XML-File:
Code: Alles auswählen
<?xml version="1.0" encoding="..."?>
<buddylist>
<buddy>
...
</buddy>
<buddy>
...
</budy>
</buddylist>
Im Moment wird im xml-File am Ende das ganze Dokument mit den Modifikationen angefügt, jedoch wird das alte belassen! Das ergibt dann etwas in der Art von:QDomDocument doc;
if(!doc.setContent(&file, false, &errorStr, &errorLine, &errorColumn)) {
std::cerr << "Error: Parse error at line " << errorLine << ", "
<< "column " << errorColumn << ": "
<< qPrintable(errorStr) << std::endl;
return false;
}
QDomElement root = doc.documentElement();
QDomElement mainelem = doc.createElement("buddy");
QDomElement idelem = doc.createElement("Test");
QDomElement nameelem = doc.createElement("name");
mainelem.appendChild(idelem);
mainelem.appendChild(nameelem);
root.appendChild(mainelem);
QTextStream out(&file);
doc.save(out, 0);
Code: Alles auswählen
<?xml ...?>
<buddylist>
...
</buddylist>
<?xml ...?>
<buddylist>
... mit modifizierten Elementen
</buddylist>
gruss und danke
theheader