【发布时间】:2012-03-06 09:50:30
【问题描述】:
正如标题所说。
我正在动态处理下载的大型 XML 文件。其中一些文件包含无效字符,例如“US”或“VB”(垂直选项卡)。不知道为什么这些角色一开始就在那里。我真的无能为力。
$z = new XMLReader;
$z->open('compress.zlib://'.$file, "UTF-8");
while ($z->read() && $z->name !== 'p');
while ($z->name === 'p'){
try
{
$node = new SimpleXMLElement($z->readOuterXML());
}catch(Exception $e)
{
echo $e->getMessage();
}
// And so on
}
我收到一条错误消息,提示“无法将字符串解析为 XML”。
我可以在这里做什么?
【问题讨论】:
-
在解析之前将它们从文件中剥离出来。
-
xml 文件被 gzip 压缩。我需要提取、处理 12gb 的 xml 数据,然后进行解析——这需要每天完成,而且这些额外的步骤花费的时间太长。它不是一个选项 atm