Вот код:
QString fileName = QFileDialog::getSaveFileName(this, tr("Save project as"), QDir::homePath(),
tr("Program project (*.xml)"));
if (fileName.isEmpty() == false)
{
if (fileName.endsWith(".xml", Qt::CaseInsensitive) == false)
fileName += ".xml";
// размер отступа
const int Indent = 4;
QDomDocument doc;
QDomElement dswsoftElement = doc.createElement("root");
doc.appendChild(dswsoftElement);
QDomElement sqlbalanceElement = doc.createElement("Program");
dswsoftElement.appendChild(sqlbalanceElement);
QDomElement mainElement = doc.createElement("Main");
sqlbalanceElement.appendChild(mainElement);
QDomElement masterDbElement = doc.createElement("MasterDatabase");
mainElement.appendChild(masterDbElement);
QDomText masterDbText = doc.createTextNode("мастер");
masterDbElement.appendChild(masterDbText);
QDomNode xmlNode = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
doc.insertBefore(xmlNode, doc.firstChild());
QFile file(fileName);
file.open(QIODevice::WriteOnly);
QTextStream out(&file);
out.setCodec(QTextCodec::codecForName("UTF-8"));
doc.save(out, 5, QDomNode::EncodingFromTextStream);
}
Вот результат:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Program>
<Main>
<MasterDatabase>маÑÑеÑ</MasterDatabase>
</Main>
</Program>
</root>
Вопрос:
Как правильно сделать, что бы вместо "маÑÑеÑ" было сохранено "мастер"?