1

Моя проблема заключается не только в том, чтобы сделать это для нескольких файлов, но и в том, что сложность того, что мне нужно найти, довольно сложна. После обновления версии .NET моего приложения, некоторые части некоторых файлов ресурсы были дублированы, за все , за исключением сборки номера версии , который был увеличивающимся.

Вот пример файла ресурсов, который должен продемонстрировать мою проблему:

<data attribute="value" >
    <value>Version="dot_net_4_assembly_version_number", <!--This element is fine--></value>
</data>

<data attribute="anotherValue" >
    <value>Version="dot_net_2_assembly_version_number", "identical_data_here"</value>
</data>

<data attribute="anotherValue" >
    <value>Version="dot_net_4_assembly_version_number", "identical_data_here"</value>
</data>

Так что мне понадобится какой-то инструмент, или какой-нибудь командный скрипт или что-то (если это вообще возможно), который будет искать в каждом файле и идентифицировать, где все значения в элементах xml одинаковы, за исключением номеров Version=... сопоставьте версии .NET 2 и 4, а затем удалите версию .NET 2 элемента xml.

Как этого добиться? Нужен ли какой-нибудь сценарий bash-command для этого? (Также, надеюсь, я задаю этот вопрос в нужном месте, дайте мне знать, если я не так)

1 ответ1

0

Вы можете выполнять довольно сложные действия поиска и замены с помощью регулярных выражений и (например) Notepad++. Однако это может оказаться невозможным, если в файле, который вы пытаетесь изменить, элементы не сохраняются точно так же.

Лично, поскольку файл представляет собой XML, я бы просто использовал среду программирования, например ту, к которой вы привыкли, чтобы написать задачу для чтения и записи файлов XML. Возможно, это будет намного проще, чем написать сложное регулярное выражение.

В качестве альтернативы, вы можете использовать XML-> XSLT для чтения файлов и их преобразования, но я бы выбрал тот вариант, который мне наиболее знаком.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .