Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: finding ancestor elements related to specific change

by tobyink (Abbot)
on Oct 17, 2012 at 23:09 UTC ( #999630=note: print w/ replies, xml ) Need Help??


in reply to finding ancestor elements related to specific change

I'd strongly suggest dropping XML::Simple and using a DOM-based XML library. These tend to have useful methods called things like parentNode.

use XML::LibXML 1.70; my $xml = XML::LibXML->load_xml(string => <<'END'); <classes name="Panoply::BAR"> <public_methods> <members name="BAR" const="no" kind="function" protection="publ +ic" static="no" virtualness="non_virtual" volatile="no"> <parameters declaration_name="pciReg" type="Register::Ptr" /> </members> <members name="bits" const="no" kind="function" protection="pub +lic" static="no" type="void" virtualness="non_virtual" volatile="no"> <parameters declaration_name="value" type="uint64_t" /> </members> <members name="subBitVector" const="no" kind="function" protect +ion="public" static="no" type="void" virtualness="non_virtual" volati +le="no"> <parameters declaration_name="value" type="const BitVector &a +mp;" /> </members> </public_methods> <enums> <members name="ObjectState" kind="enum" protection="public" sta +tic="no" virtualness="non_virtual"> <values name="NEW"> </values> <values name="REFRESHED"> </values> <values name="DIRTY"> </values> </members> </enums> </classes> END my @results = $xml->findnodes('//*[@declaration_name="value"]'); foreach my $result (@results) { print "Got result, with parent: ", $result->parentNode->getAttribu +te('name'), "\n"; }
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: finding ancestor elements related to specific change
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2014-10-25 03:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (141 votes), past polls