私はまだ使用に慣れていませんXML::Twig
。
メインプログラムから、属性を持つ要素を探します@method="create"
サブルーチンで、属性 を持つ次のplayer
要素/兄弟を見つけたいです。@method="modify"
これらのメソッドは両方ともサブルーチンで失敗player
し、エラーが発生しますCan't call method "gi" on an undefined value
my $modif1=$valeur->next_sibling('[@method="modify"]')
my $modif2=$valeur->next_elt('[@method="modify"]')->parent
input.xwo の例:
<top id="World">
<middle id="France" method="create">
</middle>
<middle id="Germany" method="modify">
</middle>
</top>
私の簡単なコード:
#!/bin/perl -w
use warnings;
use XML::Twig;
my $twig= new XML::Twig(
twig_handlers => {
'[@method="create"]' => \&player
}
);
$twig->parsefile("input.xwo");
$twig->purge;
sub player {
my ($twig, $valeur) = @_;
my $modif1 = $valeur->next_sibling('[@method="modify"]');
my $modif2 = $valeur->next_elt('[@method="modify"]')->parent;
print "\nnextELT=" . $modif->gi . "\n";
}