我使用QDomDocument来编写XML文档。
但是在我的dom树中,一些节点是使用docA创建的,一些节点是使用docB创建的。
QDomElement parentNode = docA.CreateElement("name");//created by docA
QDomElement childNode = docB.CreateElement("value");//created by docB
parentNode.appendChild(childNode);//in onr tree和:
QTextStream out(&file);
docA.save(out, Indent);//docA created the root QDomElement
//write the file using docA 那么,是否可以像这样将整个树写成XML呢?
发布于 2013-03-23 18:07:23
您应该避免这种情况,因为如果仍在使用docB,当docA超出范围时,事情就会开始出错。我相信在此之前,您提出的建议在技术上是可行的,但该库似乎旨在阻止它。
但是,有一个函数QDomDocument::importNode()可能就是您想要的。你可以这样做:
docAParent.appendChild( docA.importNode( docBNode, true ) );boolean参数控制是否制作深度副本。
请参阅文档:http://qt-project.org/doc/qt-4.8/qdomdocument.html#importNode
https://stackoverflow.com/questions/15585406
复制相似问题