gpt4 book ai didi

c++ - 是否需要让同一个QDomDocument创建的QDomElement来写XML?

转载 作者:搜寻专家 更新时间:2023-10-31 00:39:58 29 4
gpt4 key购买 nike

我使用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?

最佳答案

你应该避免这种情况,因为如果 docA 超出范围而 docB 仍在使用,事情就会开始出错。我相信您提出的建议在技术上会起作用,直到发生这种情况,但图书馆似乎旨在阻止它。

但是,有一个函数 QDomDocument::importNode() 可能就是您想要的。你可以这样做:

docAParent.appendChild( docA.importNode( docBNode, true ) );

bool 参数控制是否进行深拷贝。

请参阅文档:http://qt-project.org/doc/qt-4.8/qdomdocument.html#importNode

关于c++ - 是否需要让同一个QDomDocument创建的QDomElement来写XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15585406/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com