LISTS
#!/usr/bin/env perl use strict; use warnings; use Data::Dumper; use XML::TreePuller; my $xml = <<EOF; <array> <element>zero</element> <element>one</element> <element>two</element> </array> EOF my $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 perl use 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> EOF my $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 perl use 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> EOF my $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.