我正在使用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

请赐教我:)

最佳答案

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

07-24 09:45