【RAD統合環境】 Qt 総合スレ 8 【Win/Mac/Linux】
■ このスレッドは過去ログ倉庫に格納されています
008271
2010/08/18(水) 01:07:00ファイルの扱いがおかしいというのはどういう事なのでしょうか。
replaceChildに変更しただけだと特に結果は変わりませんでした。
file->open(QIODevice::ReadWrite)で開いて、最後にdomDocument.save(out, 4)で上書きになって欲しいのですがこれだと追記になってしまいます。
読み込みに使ったXML以外のファイルを保存先に変更したら上手く?いったのですが、読み込みに使ったファイルを上書きしようとしても追記になってしまいます。
現在のコードです。行数制限のため改行やif文を外してあります(動作は確認済みです)
QDomDocument domDocument;
QFile *file = new QFile("/home/hoge/test.xml");
file->open(QIODevice::ReadWrite);
domDocument.setContent(file, true);
QDomElement root = domDocument.documentElement();
QDomElement newTitleElement = domDocument.createElement("test");
QDomText newTitleText = domDocument.createTextNode("TEST!");
newTitleElement.appendChild(newTitleText);
root.appendChild(newTitleElement);
QDomElement newChild = root.firstChildElement("test");
domDocument.replaceChild(newChild, domDocument);
QTextStream out(file);
domDocument.save(out, 4);
file->close();
■ このスレッドは過去ログ倉庫に格納されています