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.
谢谢池上!
我正在使用 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.
谢谢池上!