将节点添加到现有XML文档

时间:2010-09-23 14:06:12

标签: c++ xml qt

我正在使用QT Framework(v.4.7)开发一个用C ++编写的小程序。

我想要完成的任务是打开一个现有的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 :(得分:0)

使用“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();
}