Использование CMD для обновления узла xml - PullRequest
0 голосов
/ 29 сентября 2019

Всем дня. У меня есть код для случайного создания тегов назначения для программы, которую я создаю. Я использую CMD для этого, так как у меня уже есть 90% кодирования. до этого момента.

У меня есть программа, которая извлекает 20 случайных тегов и сохраняет их в виде переменной. Я настроил его в цикле и добавляю текстовый файл при каждом запуске. Также у меня есть счетчик, чтобы сказать мне, сколько тегов было введено в сохраненный текстовый файл.

Теперь самое сложное. Мне нужна программа для обновления .XML файла, который уже структурирован. Все определенные узлы xml должны остаться, иначе основная программа, использующая .XML, не загрузит файл должным образом. Моя цель здесь - обновить этот узел случайными сгенерированными «тегами» и ввести их в указанный файл .XML.

:Main
Set tags1=%Random%
    If /i %tags1% GTR 6 goto Main           
If /i %tags1% LSS 1 goto Main
goto Maniaa

:Maniaa
If %tags1% == 1 set tags2=NA
If %tags1% == 2 set tags2=FR
If %tags1% == 3 set tags2=LA
If %tags1% == 4 set tags2=BR
If %tags1% == 5 set tags2=SY
If %tags1% == 6 set tags2=BU
::This block of code is the random tag generation.


::This will echo out the saved tags
Echo ^<destinationTag^>%tags2%^</destinationTag^> >> tags2.txt

goto Main2

:Main2
::Setting up the counter within the tags2.txt 
set file=tags2.txt
set /a cnt=0
for /f %%a in  ('type %file%^|find "" /V /C') do set /a cnt=%%a
Echo %file% has %cnt% Random Generated Tags, Current %tags2%
::Once program reaches the required tags we can exit program

::THIS PART IS WHAT I AM TRYING TO DO.
for /f %%i in ('findstr "<destinationTag>%tags2%^</destinationTag^>" 
tags2.txt') do echo ^<destinationTag^>%tags2%^</destinationTag^> >> CSSE- 
2X.xml

ping -n 1 localhost >nul
goto Main
cls

Вот фрагмент кода .XML, с которым я работаю, все остальные ДОЛЖНЫ остатьсятот же самый. Только узлы "destinationTag" необходимо обновить с помощью% tags2%.

<reverseDirection>
        <boolean>false</boolean>
        <boolean>false</boolean>
      </reverseDirection>
      <loadWeightUSTons>0</loadWeightUSTons>
      <destinationTag>EL</destinationTag>
      <unitNumber>927453</unitNumber>

Итерация destinationTag может быть более 100 раз в одном XML-файле. Должен быть циклический процесс, который я мог бы использовать для обновления указанного файла .XML?

Основная программа CMD работает отлично, единственная проблема заключается в том, что она не обновляет файл .XML.

Любая помощь очень ценится.

...