私のdata.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd country="UK">
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<price>10.0</price>
</cd>
<cd country="CHN">
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<price>9.99</price>
</cd>
<cd country="USA">
<title>Hello</title>
<artist>Say Hello</artist>
<price>0001</price>
</cd>
</catalog>
私のtest.pl
#!/usr/bin/perl
# use module
use XML::Simple;
use Data::Dumper;
# create object
$xml = new XML::Simple;
# read XML file
$data = $xml->XMLin("data.xml");
# access XML data
print "$data->{cd}->{country}\n";
print "$data->{cd}->{artist}\n";
print "$data->{cd}->{price}\n";
print "$data->{cd}->{title}\n";
出力:
Not a HASH reference at D:\learning\perl\t1.pl line 16.
コメント:グーグルで記事を見つけました(単一のxmlレコードを処理します)。 http://www.go4expert.com/forums/showthread.php?t=812 記事コードでテストしましたが、ラップトップで非常にうまく機能します。
次に、上記の練習コードを作成して、複数のレコードにアクセスしようとしました。しかし失敗しました。どうすれば修正できますか?ありがとうございました。