SimpleXML XMLIterator在遇到空节点时失败

时间:2013-01-05 16:57:17

标签: php simplexml

我正在尝试使用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++;
}

0 个答案:

没有答案