Как объединить объекты XML? - PullRequest
       5

Как объединить объекты XML?

1 голос
/ 08 сентября 2011

Как объединить два или более объекта simpleXML?

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

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Вы можете типизировать XML-код в массив, объединить (http://php.net/manual/en/function.array-merge.php) его, а затем типизировать обратно к объекту. Например, так:

$xml = (object)array_merge((array)$xml1, (array)$xml2);
0 голосов
/ 08 сентября 2011

Вы можете создать новый класс и добавить эти объекты в класс, чтобы получить комбинированный объект.

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);
...