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 />

空要素に気づかず結構長い時間悩んだので、残しておく。