I have a bizarre XML document arranged in the following manner
<a>
<b>
<c c1="blah" c2="blah">
<d d1="blah0" d2="blah1" d3="blah2" d4="blah3" d5="blah4" />
<d d1="blah5" d2="blah6" d3="blah7" d4="blah8" d5="blah9" />
<d d1="blah10" d2="blah11" d3="blah12" d4="blah13" d5="blah14" />
</c>
<c c1="blahc" c2="blah">
<d d1="blah0" d2="blah1" d3="blah2" d4="blah3" d5="blah4" />
<d d1="blah5" d2="blah6" d3="blah7" d4="blah8" d5="blah9" />
<d d1="blah10" d2="blah11" d3="blah12" d4="blah13" d5="blah14" />
</c>
...
<b>
....
</b>
<e/>
</a>
I want to extract the values of d2
, d4
, d5
for all the c
nodes within all the b
nodes.
I tried using XML::Simple
and ran into a lot of difficulties with array referencing.
I tried using XML::DOM
, but considering my XML file is 500MB in size, it does not seem to be a good option. Please suggest a good approach as I'm new to Perl