Удалить узел XML в Notepad++
У меня есть большой XML со структурой ниже. Теперь я хочу избавиться от <tuv xml:lang="en-GB"><seg>CONTENT</seg></tuv>
узлы, поэтому для каждого блока остается только часть de-DE (<tuv xml:lang="de-DE"><seg>CONTENT</seg></tuv>
). Есть ли способ сделать это с помощью Notepad++ или другого инструмента? Я не очень увлекаюсь кодированием, поэтому чем проще, тем лучше.
Что я имею:
<tu tuid="ID_0">
<tuv xml:lang="en-GB">
<seg>Hello!</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Hallo!</seg>
</tuv>
</tu>
<tu tuid="ID_1">
<tuv xml:lang="en-GB">
<seg>This is a test content! :)</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Das ist ein Testinhalt! :)</seg>
</tuv>
</tu>
<tu tuid="ID_2">
<tuv xml:lang="en-GB">
<seg>All your base are belong tu us ...</seg>
</tuv>
<tuv xml:lang="de-DE">
<seg>Och nö, echt jetzt?</seg>
</tuv>
</tu>
Что я хочу:
<tu tuid="ID_0">
<tuv xml:lang="de-DE">
<seg>Hallo!</seg>
</tuv>
</tu>
<tu tuid="ID_1">
<tuv xml:lang="de-DE">
<seg>Das ist ein Testinhalt! :)</seg>
</tuv>
</tu>
<tu tuid="ID_2">
<tuv xml:lang="de-DE">
<seg>Och nö, echt jetzt?</seg>
</tuv>
</tu>
2 ответа
Ctrl+H (Заменить...)
Найти то, что: <tuv xml:lang="en-GB">.*?</tuv>
Режим поиска: регулярное выражение
проверил: соответствует новой строке
В NotePad++ откройте диалоговое окно "Заменить" и укажите:
Найти то, что: <tuv xml:lang="en-GB">.*?</tuv>
Заменить:
Затем установите режим поиска "Регулярное выражение" и установите флажок в ". соответствует символу новой строки.
Заменить все теперь должны удалить все блоки en-GB. Примечание: уловка здесь с? следуя *. Он предписывает регулярному выражению быть не жадным.