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'
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
|