У меня есть XML-файл (1000 записей, упрощенный здесь), структура (например, скажем):
<LIST>
<ITEM_0>
<NAME>Item Name</NAME>
</ITEM_0>
...
<ITEM_9999>
<NAME>Item Name</NAME>
</ITEM_9999>
</LIST>
Мне нужен результат:
<LIST>
<ITEM>
<ID>0</ID>
<NAME>Item Name</NAME>
</ITEM>
...
<ITEM>
<ID>9999</ID>
<NAME>Item Name</NAME>
</ITEM>
</LIST>
Используя Regex:
Find: \<ITEM_(.*)(>)
Replace: ITEM>\n<ID>\1\</ID>
Я получил:
<LIST>
<ITEM>
<ID>0</ID>
<NAME>Item Name</NAME>
</ITEM>
<ID>0</ID> <-- This line not wanted
...
<ITEM>
<ID>9999</ID>
<NAME>Item Name</NAME>
</ITEM>
<ID>9999</ID> <-- This line not wanted
</LIST>
Это замена </ITEM>
и даже если (я думаю) , я прошу его только заменить <ITEM>
- то , что я делаю неправильно / как исправить? Я могу что-то упустить из-за группировки (или «жадный»?) но не уверен, что и посмотрел на все похожее. Есть миллион способов порезать и нарезать его чем-то другим, но это просто мешает мне подобраться так близко, но не с АЭС.
Помощь оценена - спасибо.
Позднее редактирование: даже если я получу первую замену для правильной работы, только <ITEM_#>
, у меня все еще останется закрывающий тег </ITEM_#>
как еще одна операция поиска / замены. Проблема здесь текущая операция заменяет как <ITEM
и </ITEM
...