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

XML::Twig is adding empty newline for values provided in multi-line

我正在使用 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.

谢谢池上!