我编写了一个小脚本,它解析XML文件,删除一些冗余元素,然后使用$xml->print_to_file();
将其余元素写回新的XML文件。
一切正常,但标签文本中的双引号已被"
转义,现在是正常的双引号。我没有找到类似于escape_gt
的配置来阻止此行为。是否有这样的配置或其他方法来保持双引号转义?
我的twig配置如下所示:
my $xml = XML::Twig->new(
twig_handlers => {
label => \&purge_file
},
pretty_print => 'indented',
output_encoding => 'utf-8',
escape_gt => 1
);
答案 0 :(得分:7)
没有理由在XML文本中转义引号。双引号只需要在用双引号引用的属性值中进行转义,我相信你会发现XML :: Twig会逃避这些。
...但是有可能通过使用XML :: Twig的内容:
XML::Twig::Elt::set_replaced_ents(qq{&<>"}); # "&" needs to be first.
我建议不要这样做。