Метод «addChild» для SimpleXMLElement кажется, что он должен быть правильным выбором, но, по-видимому, он принимает только строки, представляющие тэг нового ребенка.Есть ли способ добавить PHP SimpleXMLElement в другой SimpleXMLElement?
Существует нотация объекта для ссылки на узлы дерева и их установка, например. $ simpleXMLNode-> child = значение, но это, похоже, работает только для простых текстовых/числовых значений. Если бы я попробовать следующее:
$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?
Возможный дубликат [PHP - SimpleXML - AddChild с другим SimpleXMLElement] (http://stackoverflow.com/questions/4778865/php-simplexml-addchild-with-another-simplexmlelement) – Ben