我想使用Perl解析一个XML文件。我已经使用了XML::Simple模块来实现它,但现在我想开始使用XML::XPath模块,因为它使用XPath表达式。根据我的有限知识,我认为XPaths将使未来的解析更加容易,对吗? 以下是我目前拥有的Perl代码:
use strict;
use warnings;
use XML::XPath;
my $file = "data.xml";
my $path = XML::XPath->new(filename => $file);
my $name = $path->find('/category/event/@name');
print $name."\n";
我的问题是如何分离每个name属性(category/event/@name),以便我可以对解析出的每个值执行测试。目前,我只得到了一个包含解析数据的大字符串,而我希望得到几个小字符串,以便我可以测试。我该怎么做?谢谢 :-)
XML::LibXML
是因为你更熟悉它,还是因为你认为它比XML::XPath
更有优势?就我所知,后者也能正常工作。而且它是纯Perl编写的,这使得它比LibXML更慢,但可以在不借助外部库的情况下使用。 - Borodin