удаление фрагмента строк в текстовых данных с тегами XML с помощью пакетного сценария путем поиска идентификатора - PullRequest
0 голосов
/ 29 октября 2018

Я хочу удалить полный раздел тега XML, сопоставив идентификатор:

<?xml version="1.0"?>
<messages>
  <note ID="501">
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  <note ID="502">
    <to>Jani</to>
    <from>Tove</from>
    <heading>Re: Reminder</heading>
    <body>I will not!</body>
  </note> 

мой код партии:

@ECHO OFF
title Delete Data
echo Press the id that needs to be Deleted
set /p id= 

echo hi

set notepad_program=C:\Windows\System32\notepad.exe
set notepad_file=C:\Users\shubham1.mishra\Desktop\Employee

cd "%notepad_file%"

rem for /F "tokens=*" %%A in (Edit_sample_xml.txt) do 
rem if %%A equ "502" (type Edit_sample_xml.txt | findstr /v %id% > Xml2.txt %%A)  

type Edit_sample_xml.txt | findstr /v %id% > Xml2.txt


start "%notepad_program%" "Xml2.txt"

pause

выход

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...