Добавить узел SimpleXML в SimpleXML - PullRequest
2 голосов
/ 29 февраля 2012

У меня есть два объекта SimpleXML. Как добавить один объект в качестве дочернего элемента другого объекта.

Обратите внимание, что это невозможно сделать с помощью метода addChild, поскольку он преобразует заданное значение в строку перед добавлением.

1 Ответ

3 голосов
/ 29 февраля 2012

Я обнаружил, что SimpleXML и DOM могут использоваться параллельно на одних и тех же данных.Я должен был прочитать много страниц руководства.В конце концов я нашел это решение:

$dom_doc = dom_import_simplexml($node1)->ownerDocument;
$dom_node2 = dom_import_simplexml(new SimpleXMLElement($node_str));
$node2 = $dom_doc->importNode($dom_node2, TRUE);
$node_parent = $dom_doc->getElementsByTagName('Name-of-adding-point');
$node_parent->item(0)->appendChild($node2);

Что интересно, SimpleXML и DOM могут использоваться параллельно на одних и тех же данныхНет необходимости постоянно конвертировать вперед и назад.Прочитайте http://au.php.net/manual/en/function.dom-import-simplexml.php#89402 для получения более подробной информации об этом.

...