まず、このnoobに関する質問にお詫び申し上げます。私はXML解析の初心者です。私はxml::twig
を使っていくつかの基本的なXMLを解析しようとしています。私は下のperlスクリプトを使っていくつかの要素を抽出しましたが、他の人にはいくつかの問題があります。さまざまな形式のXMLを解析する
私はitemId
とtitle
を下記のコードを使用して抽出することができました。ただし、何らかの理由でスクリプトがconvertedCurrentPrice
を抽出しません。私は価格が抽出されることを望みます - それは以下のXMLスニペットになります。 XMLがitemID
とtitle
とは若干異なる形式でconvertedCurrentPrice
の情報を表示するため、これは機能していないと思われます。
convertedCurrentPrice
が他の値のように抽出されるようにスクリプトを変更するにはどうすればよいですか?
XMLファイル(testxml.xml
)のサンプルを示します。
<itemId>222bb5786411</itemId><title>Radiohead In Rainbows Box Set Vinyl Deluxe Limited Edition</title><sellingStatus><currentPrice currencyId="GBP">74.0</currentPrice><convertedCurrentPrice currencyId="GBP">74.0</convertedCurrentPrice>
ここは私のperlスクリプトです。
#!/bin/perl -w
use strict;
use XML::Twig;
my $twig = XML::Twig->new(
twig_handlers => {item => \&acct}
);
$twig->parsefile("testxml.xml");
sub acct {
my ($t, $elt) = @_;
for my $tag (qw(itemId title convertedCurrentPrice)) {
print $elt->field($tag), "\n";
}
print "\n";
print "\n";
}
__END__