Как разобрать XML-файл в пакетном режиме (CMD)

Можете ли вы помочь мне перечислить браузеры из этого файла http://techpatterns.com/downloads/firefox/useragentswitcher.xml в текстовый файл, разделенный символом% tab%?

Там должно быть 3 или 4 столбца:

1) описание папки из данных примера:<folder description="Browsers - Windows">

2) тип браузера из данных примера:<folder description="Legacy Browsers">

3) пользовательский агент из примера данных:<useragent description="Avant Browser 1.2" useragent="Avant Browser/1.2.789rel1 (http://www.avantbrowser.com)" app

Здесь я вижу первую проблему, потому что некоторые браузеры находятся в папке<folder description="Legacy Browsers">" но под<separator/>

Таким образом, 1-й столбец должен определять систему, второй - тип, а третий - браузер.

Следующая проблема заключается в том, что папка Devises содержит еще одну папку.

@echo off 
Setlocal EnableDelayedExpansion
SET file=useragentswitcher.xml
SET delim="

FOR /F "tokens=* skip=1" %%F IN (!file!) DO (
  REM echo %%F
  call :parse "%%F" > temp.txt
  FOR /F "tokens=1,2,3,4,5,6,7 skip=1 delims=" %%A IN (temp.txt) DO (
    IF "%%A"=="folder" (
      SET /A level=!level!+1
      echo Level:!level!
      ) ELSE IF "%%A"=="/folder" (
          SET /A level=!level!-1
          echo Level:!level!
        )

   echo A:%%A
  )
  pause
)

exit /b

:parse
Setlocal EnableDelayedExpansion
  SET A=%*
  REM REMOVE double paranthesis and <> 
  SET A=!A:~2,-2!
  REM replace double qoutes
  SET A=!A:"=µ!
  FOR /F "tokens=1,2 delims=µ=" %%A IN ("!A!") DO (
    SET first=%%A
    SET second=%%B
    echo !first!
    FOR /F "tokens=1,2 delims= " %%A IN ("!first!") DO (
      echo %%A
      echo %%B
    )
    echo !second!
  )
endlocal
exit /b

Это анализирует один тег строки, и я собираюсь работать с ним сейчас.

Ответы на вопрос(3)

Ваш ответ на вопрос