in reply to Trees in XML
use strict; use XML::Rules; my $rules = XML::Rules->new( stripspaces => 7, rules => { _default => 'content', person => sub { # push the string we build to the array referenced by the +{person} # key in the paren tag's hash return '@person' => "$_[1]->{firstname} $_[1]->{lastname} +($_[1]->{age})" }, list => sub { # only interested in the person "attribute" # due to the previous rule it's an arary ref return $_[1]->{person}; # and this is what the $rules->parse() will return } } ); my $people = $rules->parse(\*DATA); use Data::Dumper; print Dumper($people); __DATA__ <?xml version='1.0' encoding='UTF-8'?> <list name="name list"> <person> <firstname>Paul</firstname> <lastname>Rutter</lastname> <age>24</age> </person> <person> <firstname>Ruth</firstname> <lastname>Brewster</lastname> <age>22</age> </person> <person> <firstname>Cas</firstname> <lastname>Creer</lastname> <age>23</age> </person> </list>
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Trees in XML
by Anonymous Monk on Jun 03, 2008 at 13:58 UTC | |
by mirod (Canon) on Jun 03, 2008 at 14:16 UTC | |
by Jenda (Abbot) on Jun 03, 2008 at 22:54 UTC | |
by Anonymous Monk on Jun 03, 2008 at 14:07 UTC |