use strict; use warnings; use XML::Rules; use Data::Dumper qw(Dumper); my $xml = <<XML; <object type="Dog" > <property name="id" value="0" /> <property name="name" value="REX" /> <property name="status" value="alive" /> <property name="mode" value="owned" /> <property name="dog_breed_id" value="0" /> <property name="dog_breed_name" value="Husky" /> <property name="capacity" value="105" /> <property name="size" value="big" /> <property name="location" value="canada" /> </object > XML my @rules = ( "^object" => sub { $_[1]{type} eq 'Dog' }, object => sub { print join("|", @{$_[1]}{qw(name dog_breed_id dog_breed_name)}),"\ +n"; return; }, property => sub {$_[1]->{name} => $_[1]->{value}}, ); my $xr = XML::Rules->new( rules => \@rules, stripspaces => 2 ); $xr->parse($xml);
In reply to Re: XML::Parser using stream
by runrig
in thread Solved: XML::Parser using stream (used XML:Rules)
by Falantar
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |