SimpleXMLElement の「addChild」メソッドは正しい選択のようですが、新しい子のタグ名を表す文字列しか取得しないようです。
ツリーのノードを参照して設定するためのオブジェクトっぽい表記法があります。次のことを試してみると:
$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 でこの種のことを達成する典型的な方法はありますか?