in reply to Perl XML Search
use 5.012; use strict; use warnings; use Ask qw(:all); use XML::LibXML 2; my $xml = XML::LibXML->load_xml(IO => \*DATA); my $who = entry("Who are you looking for?"); my ($person) = $xml->findnodes(qq{//person[name/text() = "$who"]}) or error("Cannot find '$who'\n") and die; my @lines = $person->findnodes(qq{adr/*})->map(sub { $_->textContent } +); info(join "; ", @lines); __DATA__ <contacts> <person> <name>Barack Obama</name> <adr> <street-address>1600 Pennsylvania Avenue Northwest</street +-address> <locality>Washington</locality> <region>DC</region> <postal-code>20500</postal-code> <country>United States</country> </adr> </person> <person> <name>David Cameron</name> <adr> <street-address>10 Downing Street</street-address> <locality>London</locality> <postal-code>SW1A 2AA</postal-code> <country>United Kingdom</country> </adr> </person> </contacts>
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Perl XML Search
by Jim (Curate) on Jan 11, 2013 at 17:10 UTC | |
by choroba (Cardinal) on Jan 11, 2013 at 17:35 UTC | |
|
Re^2: Perl XML Search
by topher (Scribe) on Jan 16, 2013 at 06:12 UTC |