0

我写了一个小脚本,它解析一个 XML 文件,删除一些冗余元素,然后使用$xml->print_to_file();.

一切正常,除了标签文本中的双引号,现在已经转义"为正常的双引号。我没有找到类似的配置escape_gt来防止这种行为。是否有这样的配置或其他方式来保持双引号转义?

我的树枝配置如下所示:

my $xml = XML::Twig->new(
    twig_handlers => {
        label => \&purge_file
    },
    pretty_print => 'indented',
    output_encoding => 'utf-8',
    escape_gt => 1
);
4

1 回答 1

7

没有理由在 XML 文本中转义引号。双引号只需要在用双引号引起来的属性值中进行转义,我相信您会发现 XML::Twig 会转义这些。


...但是可以通过使用 XML::Twig 的胆量来实现:

XML::Twig::Elt::set_replaced_ents(qq{&<>"});  # "&" needs to be first.

我建议不要这样做。

于 2012-02-09T09:35:14.910 回答