关于XML::LibXML::SAX 能多给点提示么?搞不太清楚怎么使用,文档写得好“简易”啊。
不过我试用了XML::LibXML,处理相同的文件,从90秒降到了8秒!
#!/usr/bin/perl
use strict;
use XML::LibXML;
use Benchmark;
my $start = new Benchmark;
my $file = $ARGV[0];
my $parser = XML::LibXML->new();
my $tree = $parser->parse_file($file);
my $root = $tree->getDocumentElement;
my @specEle = $root->getElementsByTagName($ARGV[1]);
foreach my $eid (@specEle) {
my $oexid = $eid->getAttribute('id');
print "oexid $oexid \n";
}
my $end = new Benchmark;
my $diff = timediff( $end, $start );
# report
print "Time taken was ", timestr( $diff, 'all' ), " seconds\n";
2010/9/10 cnhack TNT <cnhacktnt@gmail.com>
用 XML::LibXML::SAX 好了2010/9/10 ZHANG Jiaqiang A <Jiaqiang.a.Zhang@alcatel-sbell.com.cn>
--请教一下,目标还比较简单,就是从xml文件中抽取某类element的某个固定的attr的值,我用perl的XML::Parser模块写了一下,耗时90秒。希望能大幅度地提高一下效率,想听听大家有啥建议?(试了一下XML::Twig模块,可能是我用的不得法,相同的功能用了190秒)
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
没有评论:
发表评论