Existe uma maneira de adicionar um SimpleXMLElement PHP para outro SimpleXMLElement?
O método "addChild" do SimpleXMLElement parece que deve ser a escolha certa, mas aparentemente só leva strings representando o tagname do novo filho.
Há a notação object-ish para referenciar nós da árvore e defini-los, por ex. $ simpleXMLNode-> child = value, mas que parece funcionar apenas com valores textuais / numéricos simples. Se eu tentar o seguinte:
$s = new SimpleXMLElement('<root/>');
$t = new SimpleXMLElement('<child/>');
$s->a = $t;
echo $s->asXML()
Eu recebo:
<?xml version="1.0"?>
<root><a></a></root>
quando eu estava esperando por:
<?xml version="1.0"?>
<root><a><child/></a></root>
Pensei em converter $ t em uma string e depois adicioná-lo (depois de remover a declaração XML):
$s->a = substr($t->asXML(),22)
Mas isso produz:
<?xml version="1.0"?>
<root><a><child/></a></root>
Mais uma vez, não o que eu estava esperando.
Existe uma maneira típica de realizar esse tipo de coisa com o SimpleXML?