如何使用Perl使用TWIG提取CDATA内容

时间:2013-07-10 17:22:48

标签: xml perl parsing cdata xml-twig

我是Perl的新手,因此我几乎没有使用它的经验,我必须使用以下xml文件中的TWIG和Perl提取CDATA中的内容:

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

    ...
    ]]>
    </text>

对不起,如果这个问题在某处重复。 提前谢谢。

1 个答案:

答案 0 :(得分: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

...