QT Projectで作業しています。その一部はXMLファイルの再構築です。私はQDomで必要な変更のほとんどを行うことができましたが、ノードの名前を変更する方法は見つけられません。
だから古いXMLファイルが> <ウィンドウの代わりに>新しいものが<グループを有するように QT DOMXml - ノードの名前を変更します。
<root>
<window name="" ..>
<element x="" y=""/>
<element1 a="" b=""/>
...
</window>
..
..
<window name="">
<element x="" y=""/>
<element1 a="" b=""/>
...
</window>
</root>
がどのように私は、XMLを変更することができます...のように見えますか?
だから最後にそれは...
いくつかの詳細情報を追加<root>
<group name="" ..>
<element x="" y=""/>
<element1 a="" b=""/>
...
</group>
..
..
<group name="">
<element x="" y=""/>
<element1 a="" b=""/>
...
</group>
</root>
のように見える必要がある...ここで
は、私が<window>
ノードを読み取るために使用したコードである、可視性に基づいて、いくつかを削除します(リストから来ます)、残りのノードについては<window>
から<group>
に変更する必要があります。
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、彼は "値"ではなく "名前"の編集を求めています。 – Naidu