小编Des*_*sai的帖子

如何获取包含元素标记的XML节点的整个内部内容?

使用XML::Twig,有没有办法获取节点的整个HTML?我不想要节点的文本,而是整个HTML标签和所有.

输入XML

<content> <p>blah blah <b> bla bla </b> </p>
<p> line 2 <i> test </i? </p>
</content>
Run Code Online (Sandbox Code Playgroud)

my $twig = new XML::Twig(
    TwigRoots    => {'content' => 1},
    TwigHandlers => $twig_handlers
);
my $twig_handlers = {'count/p' => \&count_ps};

sub count_ps {
    my ($twig, $test) = @_;
    $Data .= $test->text();
}
Run Code Online (Sandbox Code Playgroud)

$data 应该告诉我整个HTML.

perl xml-twig

4
推荐指数
1
解决办法
271
查看次数

URL Regex无效

使用Perl,我试图解析一堆XML文件,并尝试在XML中查找任何形式的URL并打印它.我的正则表达式似乎不起作用,它没有返回任何匹配.我错过了什么?

sub findURL{
local($inputLine, $outText);
$inputLine = $_[1];
 while (length($inputLine) > 0)
 {
 if ($inputLine =~ /^(((http|https|ftp):\/\/)?([[a-zA-Z0-9]\-\.])+(\.)([[a-zA-Z0-9]]){2,4}([[a-zA-Z0-9]\/+=%&_\.~?\-]*))*$/ )

 {
 $outText .= $&;
 $inputLine = $';
 }
 else
 {
  $inputLine = "";
  $outText .= "";
 }
 }
 return $outText;
}
Run Code Online (Sandbox Code Playgroud)

regex perl

3
推荐指数
2
解决办法
1152
查看次数

在Perl生成的XML中转义"<"

我需要使用Perl代码生成XML输出.我正在尝试不使用任何库,因为它是非常简单的临时XML,可供流程中的另一个步骤使用.

通过我的perl代码,我需要编写类似于导致解析器错误的内容,以及以下XML输出:"url http://www.123.42 1345&4686=userid:fs/fsfsf"

<text>url http://www.123.42 1345&4686=userid:fs/fsfsf  </text>
Run Code Online (Sandbox Code Playgroud)

所以我试图写,"url \<![CDATA[<http://www.123.42 1345&4686=userid:fs/fsfsf]\>"但这也导致解析器错误和以下输出:

<text>URL &lt;![CDATA[http://www.123.42 1345&4686=userid:fs/fsfsf]&gt;</text>
Run Code Online (Sandbox Code Playgroud)

我想得到这个:

<text>URL <![CDATA[http://www.123.42 1345&4686=userid:fs/fsfsf]></text>
Run Code Online (Sandbox Code Playgroud)

如何使XML转义为"<"字符?

xml perl

0
推荐指数
1
解决办法
471
查看次数

标签 统计

perl ×3

regex ×1

xml ×1

xml-twig ×1