SimpleXMLElementでのエラー
SimpleXMLElementを利用して、いくつかのXMLファイルをマージして新しくXMLファイルを生成する…という作業をしていた際、以下のエラーが発生して、ファイルを生成できなかった。
Fatal error: Uncaught TypeError: SimpleXMLElement::addChild(): Argument #2 ($value) must be of type ?string, array given in /path/to/phpfile.php:84 Stack trace: #0 /path/to/phpfile.php(84): SimpleXMLElement->addChild('comment', Array) #1 {main} thrown in /path/to/phpfile.php on line 84
XMLファイルの書式は正しいはずだが…と改めてみてみると、comment
ノードが空要素になっているのが原因だった。
<!-- 正しい書式 / ちゃんと閉じタグをつける --><comment>文字</comment><comment></comment>
<!-- エラーが出た書式 --><comment />
空要素に気づかず結構長い時間悩んだので、残しておく。