使用PHP将XML树作为子级附加到另一个XML

使用PHP将XML树作为子级附加到另一个XML,php,xml,simplexml,Php,Xml,Simplexml,我想将一个XML树添加到另一个XML中,我尝试了以下代码,但这些代码不起作用: <?php $str1 = '<parent> <name>mrs smith</name> </parent>'; $xml1 = simplexml_load_string($str1); print_r($xml1); $str2 = '<tag> <child>

我想将一个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);
?>
addChild($xml2);
印刷费($xml1);
?>
预期输出XML:

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

史密斯夫人
孩子1
3.
请帮助我。

你可以使用

getElementsByTagName(“标记”)->项(0);
//echo$tagDoc->saveXML();
$newdoc=新文档;
$newdoc->loadXML($str1);
$node=$newdoc->importNode($tagNode,true);
$newdoc->documentElement->appendChild($node);
echo$newdoc->saveXML();死亡

你有吗?它不接受SimpleXmlement对象作为参数。谢谢@Magnus Eriksson可以做什么?请建议您可以按预期使用该方法?:)数据从哪里开始?可以使用DOM。在DOM中,您可以从另一个文档导入节点并附加它们。
<?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;