1

SimpleXML を使用して XML ファイルを配列に読み込もうとしていますが、スクリプトが空のノード (<NodeName /> など) に遭遇すると、XML が「無効」であるというエラーがスローされ、終了します。

問題の XML は完全に有効です。全体を検索/置換し、空のノードを削除しますが、これを効率的に行うには大きすぎます。

以下は、私が使用しているコードの複製です。空の要素に遭遇したときに、これを無視するようにリファクタリングするか、単に null 値を配列に返すことができますか?

$iter = 0;

$xmlIterator = new SimpleXMLIterator($url, 0, true);
for( $xmlIterator->rewind(); $xmlIterator->valid(); $xmlIterator->next() ) {
    $rows[$iter] = array();
    foreach($xmlIterator->getChildren() as $column => $data) {
        $rows[$iter][$column] = $data;

        $data = null;
    }
    $iter++;
}
4

0 に答える 0