Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^2: XML::Simple parsing help

by bitingduck (Friar)
on Dec 09, 2012 at 08:15 UTC ( #1007961=note: print w/ replies, xml ) Need Help??


in reply to Re: XML::Simple parsing help
in thread XML::Simple parsing help

Alternatively, using XML::TreeBuilder:

use strict; use warnings; use XML::TreeBuilder; my $xml = <<'END'; <inventors type="array"> <inventor> <city>Aston Clinton</city> <name>Andy Barth</name> <number type="integer">1</number> <country>GB</country> <upper-name>ANDY BARTH</upper-name> </inventor> <inventor> <city>Aylesbury</city> <name>Daniele Dall'Acqua</name> <number type="integer">2</number> <country>GB</country> <upper-name>DANIELE DALL'ACQUA</upper-name> </inventor> <inventor> <city>Calne</city> <name>Nigel Drew</name> <number type="integer">3</number> <country>GB</country> <upper-name>NIGEL DREW</upper-name> </inventor> </inventors> END my $tree=XML::TreeBuilder->new(); $tree->parse($xml); my @inventornums=$tree->find_by_tag_name('number'); foreach my $inventornum(@inventornums){ if ($inventornum->as_text()==2){ my $parent=$inventornum->parent(); print $parent->as_XML; } }


Comment on Re^2: XML::Simple parsing help
Download Code
Re^3: XML::Simple parsing help
by Kenosis (Priest) on Dec 09, 2012 at 08:24 UTC

      I always find XML::Simple to be so simple that it seems like extra work to back the structure out once it's parsed into a hash. XML::TreeBuilder is easier to wrap my head around with the descriptive method names, but still simpler than using XML::LibXML

Re^3: XML::Simple parsing help
by jhoop (Acolyte) on Dec 09, 2012 at 16:43 UTC

    This is a very nice and simple solution.. I'm going to play with this and XML::Rules as suggested by Jenda, see which will work best with my application.. Thanks very much!

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1007961]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (14)
As of 2014-07-30 18:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (239 votes), past polls