如何合并xml对象?

时间:2011-09-08 19:01:37

标签: php xml object simplexml

如何组合两个或更多个simpleXML对象?

$xml1 = simplexml_load_file($file1);
$xml2 = simplexml_load_file($file2);
...

2 个答案:

答案 0 :(得分:1)

您可以将XML类型转换为数组,合并(http://php.net/manual/en/function.array-merge.php),然后将类型转换回对象。像这样:

$xml = (object)array_merge((array)$xml1, (array)$xml2);

答案 1 :(得分:-1)

您可以创建一个新类并将这些对象添加到类中以获取组合对象。

class myXML {
  function add($xmlobj) {
    foreach ($xmlobj->children() as $key=>$obj) {
        $this->$key = $obj;
    }
  }
}

$xob1 = simplexml_load_file($file1);
$xob2 = simplexml_load_file($file2);
$xob3 = new myXML();
$xob3->add($xob1);
$xob3->add($xob2);