Есть ли способ добавить 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>&lt;child/&gt;</a></root>

Опять же, не то, на что я надеялся.

Есть ли типичный способ сделать это с SimpleXML?

Ответы на вопрос(2)

Ваш ответ на вопрос