Я извлек DomNode
из XML. Затем я попытался вставить его в другой DomNode
расположен в другом DOMDocument
с помощью appendChild(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);
...
Как показано выше, сначала необходимо импортировать узел в документ, чтобы дать узлу документ владельца, а затем добавить его к этому документу, где бы вы ни хотели, чтобы он был размещен.
Других решений пока нет …