Intereting Posts
Отправка электронной почты с localhost server xampp / sendmail PDO: «Недопустимый номер параметра» при подстановке нескольких параметров с одинаковым значением Используйте случай для буферизации вывода как правильное решение для «уже отправленных заголовков», Как установить модуль bcmath? CakePHP 2.5.7 – Ошибка аутентификации при входе в систему с нестандартным пользователем Прогресс опроса PHP / Ajax Как создать случайную дату между двумя датами, используя php? move_uploaded_file дает сообщение об ошибке «не удалось открыть поток: разрешено» после всех конфигураций, которые я сделал Плагин jQuery для обновления в реальном времени <li> от PHP Как исправить память, израсходованную с помощью PHPExcel? CodeIgniter "ошибка кодирования содержимого" Предупреждение: неверный аргумент, предоставленный foreach () в Внедрить COMET с PHP Запросить определенное значение с помощью сводной таблицы mySQL Не удается проверить открытый ключ openssl

Объединить xml в PHP DOM

Я хочу объединить PHP DOMDocument в другой.

//this creates the DOM which will be imported function element_index(..) { $skrit=new DOMDocument(); $skrit->loadXML('<krits:kriti xmlns:krits="http://test.de/krits">..</krits:kriti>'); return $skrit; } function crawl_xml($element) { //thats the line where to get the result and merge $skrit=element_index(..); $temp3=$skrit->documentElement->cloneNode(true); $element->appendChild($xpIn->importNode($temp3)); } //thats how i start the recurisve walking through Nodes $xpIn = new DOMDocument(); crawl_xml($xpIn->firstChild); 

Ввод / вывод должен выглядеть так:

 <!--input--> <all><one/></all> <!--input new to add--> <krits:kriti xmlns:krits="http://test.de/krits">..</krits:kriti> <!--ouput--> <all><krits:kriti xmlns:krits="http://test.de/krits">..</krits:kriti><one><krits:kriti xmlns:krits="http://test.de/krits">..</krits:kriti></one></all> 

Возможно, importNode может быть не лучшим выбором? Я использовал cloneNode, потому что я надеялся избежать проблем с рекурсивным вызовом. Так что я делаю неправильно? Спасибо за вашу помощь!

Если вы хотите импортировать все подэлемент узла (а не только сам узел), вам необходимо установить значение $ deep в true в importNode :

 $domDocument->importNode($node, true);