2013-07-10 30 views
2

我是新来的Perl,所以我没有经验使用它,我要提取使用TWIG和Perl从下面的XML文件里面CDATA内容CDATA内容提取与嫩枝:如何使用Perl

<?xml version='1.0' encoding="utf-8"?> 
    <text> 
    <![CDATA[ 
    1. Democracia ukata Estado de Derecho sutinchata kamachinaka ch’amanchañataki 

    ... 
    ]]> 
    </text> 

对不起,如果这个问题重复的地方。 在此先感谢。

回答

6

使用twig_handlers进行过滤,使用#CDATA作为xpath表达式。

内容script.pl

#!/usr/bin/env perl 

use warnings; 
use strict; 
use XML::Twig; 

my $twig = XML::Twig->new( 
    twig_handlers => { 
     '#CDATA' => sub { print $_->text }, 
    }, 
)->parsefile(shift); 

运行它想:

perl script.pl xmlfile 

国债收益率:

1. Democracia ukata Estado de Derecho sutinchata kamachinaka ch’amanchañataki 

...