gpt4 book ai didi

perl - 使用 XML::TWIG 解析大型 xml 文件失败

转载 作者:行者123 更新时间:2023-12-05 00:35:45 25 4
gpt4 key购买 nike

我正在尝试使用 XML::Twig 解析一个大型 xml 文件(大约 100,000 条记录),但 perl 解析失败并出现错误:

perl.exe - Application Error: 
The instruction at "0x28086920" referenced memory at "0x00000004". The memory could not be "written"...

我读到 XML::Twig解析大型 xml 文件没有任何问题,但在我的情况下,它因上述错误而失败。

我的 .pl 文件有一个旋转 100,000 次的 forloop 代码,如下所示:
foreach my $d1(@detailData)   {
if ($d1->first_child('a')->getElementsByTagName('b')) {
$id= $d1->first_child('a')->first_child('x')->field('b');
}
....
.....
......

}

在 forloop 内部,我有大约 20 个如上所述的 if 循环。它会导致内存问题吗?

谁能建议我如何克服这个内存问题?

最佳答案

在谷歌搜索 perl "The memory could not be written" 之后我猜这个问题可能来自于在内存中一次加载文件,例如见 http://www.perlmonks.org/?node_id=457265或者(不太可能)混合使用不同编译器编译的模块(例如,使用带有 Cygwin perl 的 Activestate 包,参见 http://cygwin.com/ml/cygwin/2006-12/msg00798.html)。

对于 XML::Twig 处理大文件,您需要告诉它在哪个级别处理文件的某些部分(通常通过定义处理子树的处理程序,然后丢弃它),请参阅模块的文档。

关于perl - 使用 XML::TWIG 解析大型 xml 文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9074831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com