Есть XML файл:
XML
<options>
<payercode>5</payercode>
<enterprise>Microsoft</enterprise>
<payerbank>Demark</payerbank>
</options>
Нужно достать значение 5 из элемента <payercode>, увеличить его на единицу и записать обратно. Извлечь не проблема, изменить тоже, но как его записать, чтоб не потерять все остальные элементы? Пытаюсь делать так:
QDomDocument opt;
QFile optFile("options.xml");
optFile.open(QFile::ReadWrite);
QTextStream out(&optFile);
opt.setContent(&optFile);
QDomElement docElement = opt.documentElement(); // получаю корень
QDomNode node;
node = docElement.firstChild(); /*для тренировки пытаюсь хотябы какой-нибудь элемент изменить, т.е. первый */
std::cout << node.toElement().text().toStdString(); // элемент правильно извлекается
node.toElement().setNodeValue("wefe"); // но здесь
std::cout << node.toElement().text().toStdString(); // он не устанавливается !!!
out.setCodec("UTF-8");
out << &optFile;
opt.save(out, 5, QDomNode::EncodingFromTextStream);
optFile.close();