私はXMLファイルからいくつかの文字列を抽出したいと思います。 以下のように私のXMLファイル: -xmlファイルでどのように値を抽出できますか?
<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>
例えばiは製品型番名= 750とSubComponentItem名= FPGA内部の回転値を抽出したいです。どのように私はそれを抽出することができますか?私は以下のコードの下にしようとしたが、まだいくつかのエラーが発生しました
は私のコードです: - あなたの情報について
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];
、私のPerlのバージョン5.8.8、およびXML ::のlibxmlまたはXML ::小枝がされています適用できません。
なぜあなたは明らかに優れているときに、1つのライブラリ( 'XML :: Simple'はコアではありません)をインストールしますが、他のものはインストールしませんか? – Sobrique
XML :: Simpleは嫌なものです。後でTwigを使用してください。 –
私はXML :: Twigを使い始めるのが好きです。私は 'XML :: LibXML'が完全に機能し強力であることが好きです。 – Sobrique