我正在使用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();
}