我有一个大约200MB的XML文件,我希望逐行提取所选信息.
我用perl编写了一个脚本,使用模块XML :: LibXML解析文件内容,然后循环内容并逐行提取信息.这是无效的,因为它将整个文件读入内存,但我喜欢LibXML,因为我可以使用我需要的信息的XPath位置.
我可以获得有关如何使我的代码更有效的建议.
通过搜索我已经知道XML :: SAX和XML :: LibXML :: SAX,但我找不到解释用法的文档,它们似乎不包括任何类型的XPath寻址结构.
我有一个运行正确的perl脚本,但它只使用了我的2核CPU的1核,我怎样才能利用所有核心.
我知道我可以使用threads-> new()创建线程.但我如何适应这样的事情:
my $twig= new XML::Twig::XPath(TwigRoots => {TrdCaptRpt => \&top_level});
$twig->parsefile($file);
Run Code Online (Sandbox Code Playgroud)
子程序被其他东西调用的地方.