我想将2个XML文件合并起来,采用的是dom方法:
读:
bool MainWindow::docRead()
{
QFile file("123456.xml");
if(!file.open(QFile::ReadOnly))return false;
doc1 = new QDomDocument();
if(!doc1->setContent(&file)){
file.close();
return false;
}
file.close();
return true;
}
写:
bool MainWindow::docWrite()
{
QFile file("456123.xml");
if(!file.open(QFile::WriteOnly| QFile::Text))return false;
QTextStream out(&file);
doc2.save(out,4);
file.close();
return true;
}
然后是写入过程:
QDomElement docElem1=doc1->documentElement(); QDomElement docElem2=doc2.documentElement();
QDomNode n=docElem1.firstChild();
while(!n.isNull()){ if(n.isElement()){
QDomElement e=n.toElement(); QDomElement temp=n.cloneNode(true).toElement();
docElem2.appendChild(temp);
}
n=n.nextSibling();
}
最后的结果是:能读取123456.XML的加点,但是456123.XML的文件中不仅没有被写入123456的内容,而且自身内容也被清空了。
求指教!感激