Ищите закрывающий тег XML в пакетном скрипте - PullRequest
0 голосов
/ 22 апреля 2020

Я работаю на компьютере с ограниченными возможностями. Наши ИТ-специалисты не позволят мне разместить здесь большинство сценариев. Все, что мне нужно, - это способ проанализировать XML файлы и переформатировать их, и все, что доступно, - это пакетный скрипт по умолчанию из Windows. Но я выживаю. Я почти все сделал, но у меня есть случай, когда мне нужно обнаружить теги открытия и закрытия в одной строке файла. Я создал переменную double, которая установлена ​​на 0. Если я найду закрывающий тег, я могу установить его на 1, а затем использовать его для настройки заполнения в формате.

Это пример тега I возможно, захотите проанализировать

<tag>some text</tag>

Вот код, который я использовал.

  set str2=!str:~2,-1!
  set double=0
  REM This echo shows that str2 is now "ag>some text</tag"
  echo "!str2!"

  FOR /f "tokens=1,2 delims=<" %%t in ("!str2!") DO (
    echo %%u
    REM this echo shows that %%u is definitely "/tag"
    if defined %%u (
      REM this never seems to execute
      echo %%u
      set /A double=!double!+1
    )
  )
  echo !double!

Я думал, что оператор if проверит, существует ли %% u, но, очевидно, нет. Как мне тестировать второй токен или есть лучший способ?

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