解析批处理脚本中的某些标签

时间:2018-10-22 13:43:29

标签: xml batch-file

我在编写脚本时需要帮助,但不确定使用的逻辑。

这里是我正在处理的示例。

<Section name="Server_Default-Exclusions">
<Setting name="ExcludedItem_0" value="4|3|Thing1"/>
<Setting name="ExcludedItem_1" value="4|3|Thing2"/>
<Setting name="ExcludedItem_2" value="4|3|Thing3"/>

<Section name="Wrkstn_Default-Exclusions">
<Setting name="ExcludedItem_0" value="4|3|Thing1"/>
<Setting name="ExcludedItem_1" value="4|3|Thing2"/>
<Setting name="ExcludedItem_2" value="4|3|Thing3"/>

我需要将Server的部分放入一个文件中,将Workstation的部分放入另一个文件中。我正在查看的XML中有20万行以上。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用xpath.bat进行尝试:

@echo off

setlocal enableDelayedExpansion

::change the value here with the relative or full path to the xml file
set "xml_file=E:\scripts\xml_Test.xml"
set counter=0

for /f "tokens=* delims=" %%# in ('xpath0.1.bat xml_Test.xml "//Section/Setting/@value"') do (
    set "values[!counter!]=%%#"
    set /a counter=counter+1
)

::list values
set values[