我想使用XML :: Parser解析一个简单的字符串。这很好用。但我不知道如何访问结果。
#!/usr/bin/perl
use Data::Dumper;
use XML::Parser;
my $parser = XML::Parser->new( Style => 'Tree' );
my $tree = $parser->parse( '<xml type="test" Id="ca19cfd5" result="1 test 2 test 3" elapsed="9" Size="12345" />' );
print Dumper( $tree );
告诉我
$VAR1 = [
'xml',
[
{
'Size' => '12345',
'Id' => 'ca19cfd5',
'type' => 'test',
'elapsed' => '9',
'result' => '1 test 2 test 3'
}
]
];
所以它完全可以解析我的字符串。但是如何访问这些字段?像“我的$ result = $ tree ......”这样的东西
给定的xml字符串将始终具有如上所示的相同语法。只有内容不同。
提前Tnx, 安基杜答案 0 :(得分:2)
您要查找的属性位于$tree->[1]->[0]
my $atts= $tree->[1]->[0];
然后
print "size: $atts->{Size}\n";
那说XML :: Parser不是最容易使用的模块,它有点太低级了。 XML :: Twig或XML :: LibXML将为您提供更轻松的功能。
答案 1 :(得分:1)
您可以查看其他XML分析器,它们可以生成更简单的结构
例如我的模块: