将SimpleXML节点添加到SimpleXML

时间:2012-02-29 14:47:15

标签: php xml simplexml

我有两个SimpleXML对象。如何将一个对象添加为另一个对象的子元素。

请注意,使用addChild方法无法做到这一点,因为它会在添加之前将给定值转换为字符串。

1 个答案:

答案 0 :(得分:3)

我发现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