Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 例外情况;节点用于与创建它的文档不同的文档中;使用C++;xerces图书馆_C++_Xml_Dom_Xerces_Xerces C - Fatal编程技术网

C++ 例外情况;节点用于与创建它的文档不同的文档中;使用C++;xerces图书馆

C++ 例外情况;节点用于与创建它的文档不同的文档中;使用C++;xerces图书馆,c++,xml,dom,xerces,xerces-c,C++,Xml,Dom,Xerces,Xerces C,我从XML中提取了一个DomNode。然后,我尝试使用appendChild(DomNode*)将其插入另一个DomNode中的DomNode,但我得到了一个DOMException 例外情况: 节点用于与创建它的文档不同的文档中 问题是: 如何将DomNode从一个DOMDocument移动到另一个?我继续回答这个问题,问这个问题的人引导我找到了这个答案,但我花了一些时间才弄清楚整个概念 // Result is from an xpath query while(result->ite

我从XML中提取了一个
DomNode
。然后,我尝试使用
appendChild(DomNode*)
将其插入另一个
DomNode
中的
DomNode
,但我得到了一个
DOMException

例外情况:

节点用于与创建它的文档不同的文档中

问题是:


如何将
DomNode
从一个
DOMDocument
移动到另一个?

我继续回答这个问题,问这个问题的人引导我找到了这个答案,但我花了一些时间才弄清楚整个概念

// Result is from an xpath query
while(result->iterateNext())
{
  // Creating the new document
  DOMDocument * doc  = this->domImplementation->createDocument();

  // Importing the node from the old document to the new document scope
  DOMNode     * node = doc->importNode(result->getNodeValue(), true);

  // Appending the node to the new document
  doc->appendChild(node);

  ...

如上所述,首先需要将节点导入到文档中,为节点提供一个所有者文档,然后将其附加到该文档中您希望放置的位置。

创建一个新节点,该节点是您提取的节点的副本。thanxs john可供您评论,但它无法工作,因为我尝试使用克隆,但无法工作。虽然我已经解决了这个问题,但在浏览了API之后,我找到了一个importNode(DOMNode*,bool),它适合我。