在XML文件中的标记之间查找文本,并将此文本复制到同一文件中的另一组标记

时间:2012-01-16 22:36:41

标签: xml perl

我有一堆xml文件,其中特定标记中的文本已被翻译,但不应该被翻译。幸运的是,先前的标签中存在相同的文本(未翻译的)。

正确的文字在

 <tcm:Title>Correct Text</tcm:Title> 

因此可以复制并粘贴作为替代品。

要替换的标记文本是

 <productService>Incorrect Text</productService>.

我显然是Perl的新手,因此非常感谢为大量文件实现此功能的特定代码。

1 个答案:

答案 0 :(得分:2)

我通常使用XML :: XSH2进行XML处理。

处理此文件:

<r>
 <correct>untranslated</correct>
 <incorrect>translated</incorrect>

 <correct>untranslated2</correct>
 <incorrect>translated2</incorrect>
</r>

然后脚本执行:

open file.xml ;
for //incorrect cp preceding-sibling::correct[1]/text() replace text() ;