【问题标题】:How to extract CDATA content with TWIG using Perl如何使用 Perl 使用 TWIG 提取 CDATA 内容
【发布时间】:2013-07-10 17:22:47
【问题描述】:
我是 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>
对不起,如果这个问题在某处重复。
提前致谢。
【问题讨论】:
标签:
xml
perl
parsing
cdata
xml-twig
【解决方案1】:
使用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
...