XML::Twig正在为多行中提供的值添加空换行符



我使用XML::Twig来解析perl脚本中的文件。我对此有点陌生。我在XML文件中得到了以下类型的条目(这里的示例(:

<?xml version="1.0" encoding="UTF-8"?>
<mytag1 name="abc">
<mytag2>This is line 1.
This is line 2.
This is line 3.
</mytag2>
</mytag1>

在我的perl脚本中,我正在做如下操作:

my $twig = XML::Twig->new( keep_encoding=>1, keep_atts_order=>1, pretty_print => 'indented', comments => 'keep' );
$twig->parsefile($in_file);

我有一些验证代码,然后生成以下类型的输出。

<?xml version="1.0" encoding="UTF-8"?>
<mytag1 name="abc">
<mytag2>This is line 1.
This is line 2.
This is line 3.
</mytag2>
</mytag1>

额外的空行正在输出中生成,我不确定出了什么问题。我试着四处搜索,但找不到太多有用的信息。任何帮助都将不胜感激。

删除keep_encoding选项。这是无用的,因为输入是在utf-8中,它使模块绕过了一些解析器功能,尤其是对LF/CR 进行规范化的功能

无论如何都不应该使用它:它是Unicode不如今天流行的时代的遗迹。它允许使用旧编码的人仍然能够处理他们的XML。

谢谢ikegami!

最新更新