XMLファイルを解析し、いくつかの冗長要素を削除し、残りを$xml->print_to_file();
を使用して新しいXMLファイルに書き戻す小さなスクリプトを作成しました。Perl XML :: Twigは二重引用符をエスケープしません
"
でエスケープされたタグのテキスト内の二重引用符が通常の二重引用符になります。この動作を防ぐために、escape_gt
に似た設定が見つかりませんでした。そのような設定や二重引用符をエスケープするための他の方法はありますか?
私の小枝の設定は次のようになります。
my $xml = XML::Twig->new(
twig_handlers => {
label => \&purge_file
},
pretty_print => 'indented',
output_encoding => 'utf-8',
escape_gt => 1
);
なぜ重要ですか?二重引用符 '' 'と' " 'で区切られた内側の属性値を除いて、まったく同じことを意味します(これを行うには500%以上のバイトを要します)。 – Quentin
二重引用符もエスケープする必要もありません。属性値の二重引用符をエスケープする必要がある_if_属性値は二重引用符で囲まれ、aの後に来る場合はより大きく]]: ']]>'はCDATAセクション区切り文字の終わりであり、他のすべての場合 – mirod