i would like to extract some string from XML file. my XML file as below:-
<PartNumber name="750">
<SubComponent name="FPGA">
<SubComponentItem name="0" device_name="golden" desc="GPCAM FPGA Golden Image" rev="0x002a0023" type="FPGA_T6E_PIC" cache="yes" />
<SubComponentItem name="1" device_name="user" desc="GPCAM FPGA User Image" rev="0x002a0023" type="FPGA_T6E_PIC" cache="yes" />
</SubComponent>
<SubComponent name="LTC">
<SubComponentItem name="0" desc="ltc3880-1.0v-0" rev="0x0003" type="PMBUS_T6E_QSFP28" device_name="ltc3880-1.0v" index="0xb4" />
<SubComponentItem name="1" desc="ltc3880-3.3v" rev="0x0003" type="PMBUS_T6E_QSFP28" device_name="ltc3880-3.3v" index="0xb4" />
</SubComponent>
<SubComponent name="EEPROM">
<SubComponentItem name="0" desc="BCM8238X Retimer 0 ver" device_name="SLOT_NUMBER/%SLOT_NUMBER/0" rev="D00E" type="BCM8238X_EEPROM" cache="yes" />
<SubComponentItem name="1" desc="BCM8238X Retimer 0 checksum" device_name="SLOT_NUMBER/%SLOT_NUMBER/0" checksum="600D" type="BCM8238X_EEPROM" cache="yes" />
<SubComponentItem name="2" desc="BCM8238X Retimer 1 ver" device_name="SLOT_NUMBER/%SLOT_NUMBER/0" rev="D00E" type="BCM8238X_EEPROM" cache="yes" />
<SubComponentItem name="3" desc="BCM8238X Retimer 1 checksum" device_name="SLOT_NUMBER/%SLOT_NUMBER/0" checksum="600D" type="BCM8238X_EEPROM" cache="yes" />
</SubComponent>
</PartNumber>
for example i want to extract the rev value in PartNumber name =750 and inside SubComponentItem name=FPGA. how can i extract it?and store it.
i had tried below code but still encountered some error, below is my code:-
use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
my $simple = XML::Simple->new();
my $data = $simple->XMLin('/cy/programable/1ProgrammableRevision.xml');
print Dumper($data) . "\n";
print $data->{PartNumber}->{750}->{FPGA}->{0}->{rev}->[1];
for you information, my perl version 5.8.8, and XML::libxml or XML::Twig are not applicable.