我有1000个实体的xml,如下面的模板:
<data>
<row> ded</row>
<row> def </row>
<row> fff </row>
<row> fff </row>
</data>
我需要用XML :: Twig解析它。
我使用以下代码:
my $twig = XML::Twig->new(
twig_handlers => {
data => sub {
my $x1 = $_->first_child_trimmed_text('row');
print $x1;
#I need also here to run over the other rows and extract them
}
} );
如何遍历行并提取它们(它们具有相同的名称)?
答案 0 :(得分:6)
你可以使用XML :: Twig方法children_trimmed_text()
- 它会给你一个孩子的列表,然后你可以迭代它们。像这样:
data => sub {
my @row_children = $_->children_trimmed_text( 'row' );
for my $row ( @row_children ) {
print "$row\n";
}
}
答案 1 :(得分:2)
twig_handlers => {
# '/data/row'
# '//row'
# 'row'
'//data/row'
=> sub { print $_->get_trimmed_text },
}