Есть ли способ добавить PHP SimpleXMLElement в другой SimpleXMLElement?
& Quot; addChild & quot; метод SimpleXMLElement кажется правильным выбором, но он, очевидно, принимает только строки, представляющие тэг нового дочернего элемента.
Для обозначения узлов дерева и их установки существует нотация объектного обозначения, например, $ simpleXMLNode- & gt; child = value, но, похоже, это работает только для простых текстовых / числовых значений. Если я попробую следующее:
$s = new SimpleXMLElement('<root/>');
$t = new SimpleXMLElement('<child/>');
$s->a = $t;
echo $s->asXML()
Я получил:
<?xml version="1.0"?>
<root><a></a></root>
когда я надеялся на:
<?xml version="1.0"?>
<root><a><child/></a></root>
Я думал о преобразовании $ t в строку и последующем ее добавлении (после удаления объявления XML):
$s->a = substr($t->asXML(),22)
Но это дает:
<?xml version="1.0"?>
<root><a><child/></a></root>
Опять же, не то, на что я надеялся.
Есть ли типичный способ сделать это с SimpleXML?