我不知道如何显示一个元素的ancestors_or_。
以下是使用方法ancestors_or_self()时收到的错误消息: 如果没有xxxx
的包或对象引用,则无法调用方法“print”#!/usr/bin/perl -w
use warnings;
use XML::Twig;
my $t= XML::Twig->new;
my $v= XML::Twig::Elt->new;
$v= $t->first_elt('[@id]');
$v->print;
print ("\n\n");
$v->ancestors_or_self->print;
感谢您对Perl XML :: Twig的帮助
答案 0 :(得分:2)
那是因为ancestors_or_self
返回一个列表,你不能调用列表方法。请改用:
$_->print for $v->ancestors_or_self;
答案 1 :(得分:2)
ancestors_or_self
会返回一个列表 - 假设您需要该元素的路径,您还希望->path
不是->print
。当->path
返回路径时,您必须执行以下操作:
#!/usr/bin/perl -w
use warnings;
use XML::Twig;
my $t= XML::Twig->new;
my $v= XML::Twig::Elt->new;
$v= $t->first_elt('[@id]');
print $v->path . "\n";
print ("\n\n");
print $_->path . "\n" foreach $v->ancestors_or_self;