lau*_*ngu 1 perl perl-module parent ancestor xml-twig
我需要从input.xml的第一个Element中显示"parent"
此外,我必须显示父母的身份证明
这是我的脚本Perl:C:\ lng> C:\ lng\uniq.pl
不幸的是,输出显示了子节点:
<source id="berlin">
<target id="karlsruhe" method="delete"/>
<target id="Stuttgart4" method="delete"/>
</source>
Run Code Online (Sandbox Code Playgroud)
预期的产出是:
<source id="berlin">
Run Code Online (Sandbox Code Playgroud)
请帮忙.
这是uniq.pl:
#!/usr/bin/perl -w
use warnings;
use XML::Twig;
my $t= XML::Twig->new;
my $v= XML::Twig::Elt->new;
$t-> parsefile ('input.xml');
$v= $t->first_elt('[@method]');
$w= $v->parent;
$w->print;
Run Code Online (Sandbox Code Playgroud)
输入文件:input.xml
<Germany>
<airport id1="1">
<plane id="3">
<source id="berlin">
<target id="karlsruhe" method="delete"/>
<target id="Stuttgart4" method="delete"/>
</source>
</plane>
</airport>
</Germany>
Run Code Online (Sandbox Code Playgroud)
当您调用print元素时,它会打印元素,即整个元素,从开始标记到结束标记,包括所有子元素及其后代.
你想要的只是开始标记,使用start_tag方法:
print $w->start_tag;
Run Code Online (Sandbox Code Playgroud)