Disregard my other comment.
readInnerXml does not advance the cursor, so you can call it more than once. I made a mistake testing this.
(PHP 5 >= 5.2.0, PHP 7, PHP 8)
XMLReader::readInnerXml — 現在のノードから XML を取得する
この関数にはパラメータはありません。
現在のノードの中身を文字列で返します。失敗した場合は空文字列を返します。
この関数は、PHP を libxml 20620 以降と組み合わせてコンパイルした場合にのみ使用可能です。