добавить дерево XML как дочерний к другому XML, используя переполнение стека

Я хочу добавить дерево XML в другой XML, и я попытался с помощью следующего кода, который не работает:

<?php
$str1 = '<parent>
<name>mrs smith</name>
</parent>';

$xml1 = simplexml_load_string($str1);
print_r($xml1);

$str2 = '<tag>
<child>child1</child>
<age>3</age>
</tag>';
$xml2 = simplexml_load_string($str2);
print_r($xml2);

$xml1->addChild($xml2);
print_r($xml1);
?>

Ожидайте вывод XML:

<parent>
<name>mrs smith</name>
<tag>
<child>child1</child>
<age>3</age>
</tag>
</parent>

Пожалуйста, помогите мне.

0

Решение

Ты можешь использовать DOMDocument :: importNode

<?php

$str2 = '<tag>
<child>child1</child>
<age>3</age>
</tag>';

$str1 = '<parent>
<name>mrs smith</name>
</parent>';

$tagDoc = new DOMDocument;
$tagDoc->loadXML($str2);

$tagNode = $tagDoc->getElementsByTagName("tag")->item(0);
//echo $tagDoc->saveXML();

$newdoc = new DOMDocument;
$newdoc->loadXML($str1);

$node = $newdoc->importNode($tagNode, true);
$newdoc->documentElement->appendChild($node);

echo $newdoc->saveXML();die;
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector