2

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

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

    ...
    ]]>
    </text>

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

4

1 回答 1

6

用于使用as xpath 表达式twig_handlers进行过滤。#CDATA

内容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

...
于 2013-07-10T18:14:11.400 回答