Я согласен, что в идеальном мире вы должны использовать правильный синтаксический анализатор XML.
Однако мир не идеален, и регулярные выражения могут справиться с этим, если вам это нужно.Вот пример, который будет работать с Perl / Sed, его должно быть легко преобразовать в любой язык:
s/<node idName="employee">(.*?)<\/node>/<node idName="supervisor">$1<\/node>/g
Это можно легко изменить, чтобы включить другие атрибуты, это будет выглядеть примерно так:*
s/<node (.*?idName=)"employee"(.*?)>(.*?)<\/node>/<node $1"supervisor"$2>$3<\/node>/g
И так далее, следите за тем, чтобы оно стало голодным, если XML содержит большие куски.