Ich arbeite an einem QT-Projekt und Teil davon ist eine Rekonstruktion einer XML-Datei. Ich konnte die meisten notwendigen Änderungen mit QDom vornehmen, aber ich kann nicht finden, wie man einen Knoten umbenennt.
So die alte XML-Datei sieht aus wie ..QT DOMXml - Ändern Sie den Namen eines Knotens
<root>
<window name="" ..>
<element x="" y=""/>
<element1 a="" b=""/>
...
</window>
..
..
<window name="">
<element x="" y=""/>
<element1 a="" b=""/>
...
</window>
</root>
Wie kann ich die XML ändern, so dass die neuen < Gruppe haben wird> statt < Fenster>?
So am Ende aussehen es braucht ..
<root>
<group name="" ..>
<element x="" y=""/>
<element1 a="" b=""/>
...
</group>
..
..
<group name="">
<element x="" y=""/>
<element1 a="" b=""/>
...
</group>
</root>
ein paar mehr Infos Hinzufügen ...
Hier den Code Ich verwende die <window>
Knoten zu lesen, löschen einige basierend auf der Sichtbarkeit (kommt aus einer Liste) und ich muss <window>
zu <group>
für die verbleibenden Knoten ändern.
QFile oldXml("file.xml");
oldXml.open(QIODevice::ReadOnly);
QDomDocument doc;
doc.setContent(&oldXml);
QDomNodeList nodes = doc.elementsByTagName("window");
// Remove Window nodes based on visibility
insize = nodes.length();
for (int i = 0; i < insize; i++) {
QDomNode node = nodes.at(i-dels);
if ((list2[i] == "0") | (list2[i]=="")) {
node.parentNode().removeChild(node);
dels=dels+1;
} else {
// Here is where i need to change the node name from <window> to e.g. <group>
}
}
@EdChum, er bittet um die Bearbeitung des "Namens" und nicht des "Wertes". – Naidu