Найти текст между тегами в файлах XML и скопировать этот текст в другой набор тегов в том же файле - PullRequest
0 голосов
/ 17 января 2012

У меня есть куча XML-файлов, в которые был переведен текст в определенном теге, который не должен был быть.К счастью, тот же текст (не переведенный) существует в предыдущем теге.

Правильный текст в

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

, поэтому его можно скопировать и вставить в качестве замены.

Текст тега, подлежащий замене:

 <productService>Incorrect Text</productService>.

Я, очевидно, новичок в Perl, так что особый код для его реализации для большого количества файлов будет весьма полезен.

1 Ответ

2 голосов
/ 17 января 2012

Я обычно использую 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() ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...