小编Pra*_*een的帖子

如何使用Perl的XML :: Twig从XML中提取子值?

我正在解析XML文件并尝试访问XML文件中的值.

#!/usr/bin/perl -w

use strict;
use XML::Twig;

my $file = 'files/camelids.xml';
print "File :: $file\n";
my $twig = XML::Twig->new();

$twig->parsefile($file);
# print "twig :: $twig\n";

my $root = $twig->root;
# print "root :: $root\n";

my $num = $root->children('species');
print "num :: $num\n\n\n";

print $root->children('species')->first_child_text('common-name');
Run Code Online (Sandbox Code Playgroud)

示例XML文件是:

<?xml version="1.0"?>
<camelids>
  <species name="Camelus bactrianus">
    <common-name>Bactrian Camel</common-name>
    <physical-characteristics>
      <mass>450 to 500 kg.</mass>
      <appearance>
          <in-appearance>
              <inside-appearance>This is in inside appearance</inside-appearance>
          </in-appearance>  
      </appearance>
    </physical-characteristics>
  </species>
</camelids>
Run Code Online (Sandbox Code Playgroud)

输出是:

File :: files/camelids.xml
num :: 1


Can't call method …
Run Code Online (Sandbox Code Playgroud)

xml perl xml-twig

5
推荐指数
1
解决办法
7406
查看次数

标签 统计

perl ×1

xml ×1

xml-twig ×1