Во первых извинения за этот вопрос noob, я новичок в разборе XML. Я пытаюсь проанализировать некоторые основные XML, используя xml::twig
. Мне удалось извлечь некоторые элементы, используя приведенный ниже скрипт perl, но у меня возникают некоторые трудности с другими.Анализ XML с переменным форматом
Мне удалось извлечь itemId
и title
, используя код, указанный ниже. Однако по какой-то причине сценарий не извлекает convertedCurrentPrice
. Я хотел бы, чтобы цена была извлечена - это будет 74
в нижеприведенном фрагменте XML. Я подозреваю, что это не работает, потому что XML отображает информацию для convertedCurrentPrice
в немного другом формате, чем itemID
и title
.
Как я могу изменить свой сценарий так, чтобы 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__