是否可以使用perl脚本从这样的XML文件中获取数据(war,Europe,First等)并将它们存储在.txt文件中?
<Node id="93" />
war
<Node id="102" />
Europe
<Node id="112" />
first
<Node id="117" />
<Node id="118" />
world
<Node id="120" />
<Node id="121" />
country
<Node id="126" />
fire
<Node id="132" />
<Node id="135" />
The
<Node id="139" />
Government
<Node id="144" />
has greeted
<Node id="157" />
King
<Node id="159" />
<Node id="160" />
答案 0 :(得分:1)
您可以使用XML::LibXML。
use XML::LibXML qw();
my $dom = XML::LibXML->load_xml(string => <<'XML');
<root>
<Node id="93" />
war
<Node id="102" />
Europe
<Node id="112" />
first
<Node id="117" />
<Node id="118" />
world
<Node id="120" />
<Node id="121" />
country
<Node id="126" />
fire
<Node id="132" />
<Node id="135" />
The
<Node id="139" />
Government
<Node id="144" />
has greeted
<Node id="157" />
King
<Node id="159" />
<Node id="160" />
</root>
XML
print $dom->textContent;
答案 1 :(得分:0)
您可以使用XML::Simple。看起来你想要的只是内容部分。
use strict;
use warnings;
use XML::Simple;
my $xml = qq~<root>
<Node id="93" />
war
<Node id="102" />
Europe
<Node id="112" />
first
<Node id="117" />
<Node id="118" />
world
<Node id="120" />
<Node id="121" />
country
<Node id="126" />
fire
<Node id="132" />
<Node id="135" />
The
<Node id="139" />
Government
<Node id="144" />
has greeted
<Node id="157" />
King
<Node id="159" />
<Node id="160" />
</root>
~;
my $ref = XMLin($xml);
open $out, '>', 'output.txt' or die "Could not open output file";
print $out join "\n", map {s/\s{2,}//g;$_} @{$ref->{'content'}};
close $out;
您还可以使用其他XML模块。
答案 2 :(得分:0)
使用XML::XSH2:
open 1.xml ;
echo (/) ;