in reply to Trees in XML
You may find XML::TreeBuilder or XML::Twig are more appropriate for your application. Consider:
use strict; use warnings; use XML::TreeBuilder; my $xml = <<XML; <?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> XML my $root = XML::TreeBuilder->new (); $root->parse ($xml); my @firstNames = map {$_->as_text ()} $root->look_down (_tag => 'first +name'); print "TreeBuilder: @firstNames\n"; use XML::Twig; my $twig = XML::Twig->new (twig_roots => { 'person/firstname' => \&p +ushName}); @firstNames = (); $twig->parse ($xml); print "Twig: @firstNames\n"; sub pushName { my ($t, $elt) = @_; push @firstNames, $elt->text (); }
Prints:
TreeBuilder: Paul Ruth Cas Twig: Paul Ruth Cas
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Trees in XML
by Anonymous Monk on Jun 03, 2008 at 11:08 UTC | |
by Anonymous Monk on Jun 03, 2008 at 13:44 UTC |