1

我正在尝试使用 SimpleXML 将 XML 文件读入数组中,但是当脚本遇到一个空节点(例如 <NodeName />)时,它会抛出一个错误,指出 XML 是“无效的”并退出。

有问题的 XML 完全有效 - 我会搜索/替换整个内容并删除空节点,但它太大而无法有效地执行此操作。

以下是我正在使用的代码的传真,如何将其重构为忽略,或者在遇到空元素时将空值返回给数组?

$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