NAME
XML::TreePuller::CookBook::Patterns - Recipes for dealing with XML patterns
LISTS
#!/usr/bin/env perluse strict;use warnings;use Data::Dumper;use XML::TreePuller;my $xml = <<EOF;<array><element>zero</element><element>one</element><element>two</element></array>EOFmy $root = XML::TreePuller->parse(string => $xml);my @array;map({ push(@array, $_->text) } $root->get_elements('element'));print join(' ', @array), "\n";
HASHES
With attributes
#!/usr/bin/env perluse strict;use warnings;use XML::TreePuller;my $xml = <<EOF;<hash><entry key="0">zero</entry><entry key="1">one</entry><entry key="2">two</entry></hash>EOFmy $root = XML::TreePuller->parse(string => $xml);my %hash;map({ $hash{$_->attribute('key')} = $_->text; } $root->get_elements('entry'));foreach (0..2) {print $hash{$_}, "\n";}
Without attributes
#!/usr/bin/env perluse strict;use warnings;use Data::Dumper;use XML::TreePuller;my $xml = <<EOF;<hash><key>0</key><value>zero</value><key>1</key><value>one</value><key>2</key><value>two</value></hash>EOFmy $root = XML::TreePuller->parse(string => $xml);my %hash;my @keys = $root->get_elements('key/');my @values = $root->get_elements('value/');map({ $hash{$_->text} = shift(@values)->text } @keys);foreach (0..2) {print $hash{$_}, "\n";}
COPYRIGHT
All content is copyright Tyler Riddle; see the README for licensing terms.