Добавить узел в существующий документ XML - PullRequest
1 голос
/ 23 сентября 2010

Я работаю над небольшой программой, написанной на C ++ с использованием QT Framework (v. 4.7).

Задача, которую я хочу выполнить, - открыть существующий xml-документ, добавить узел в его структуру и сохранить документ в файле, из которого я читал его ранее.Я пробовал это, используя что-то вроде этого:

QFile xmlIn(AFileName);
QDomDocument doc("report_1");
if (xmlIn.open(QIODevice::ReadOnly)) {
    if (doc.setContent(&xmlIn)) {
        QDomElement docElem = doc.documentElement();

        QDomNode n = docElem.firstChild();
        // Do something with the element here
        n = n.nextSibling();
    }
}
// Code for saving the edited QDomDocument comes here

Но у меня есть сильное чувство, что я наблюдаю за важной частью здесь, потому что это, кажется, задача, которая является очень распространенной и обычно QT Lib долженпредоставь все что захочешь: D

Пожалуйста, просвети меня:)

1 Ответ

0 голосов
/ 29 сентября 2010

Использовать "QXmlStreamWriter" ...

QXmlStreamWriter    lStreamWriter;

if(lProjectFile.open(QIODevice::WriteOnly|QFile::Text))
{
    lStreamWriter.setDevice(&lProjectFile);
    lStreamWriter.writeStartDocument();
    lStreamWriter.writeStartElement("element");
    lStreamWriter.writeAttribute("attribute","value"); 
    lStreamWriter.writeEndElement();
    lStreamWriter.writeEndDocument();
    lProjectFile.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...