批量 - 从 XML 文件获取标签值

mic*_*ali 3 xml windows batch-file

我有以下名为“test.xml”的 XML 文件

如何将“agent-name-8181818”值从“ragent-name”标记获取到批处理文件中的变量中?

<ragent>
    <type>ragent</type>
    <logger>
        <loglevel>log_warning</loglevel>
        <logger-dir>.</logger-dir>
    </logger>
    <additional-config>
        <logger-level>log_warning</logger-level>
    </additional-config>
    <configuration-info ts="26-02-2018_15-31-54">
        <apply-config-now>false</apply-config-now>
        <manual-settings-activation>Automatic</manual-settings-activation>
        <ragent-name ts="26-02-2018_15-31-54">Agent-name-8181818</ragent-name>
        <site ts="26-02-2018_15-31-54">site</site>
    </configuration-info>
</ragent>
Run Code Online (Sandbox Code Playgroud)

npo*_*aka 5

使用xpath.bat(不需要外部二进制文件,仅使用内置的 Windows 功能):

call xpath test.xml "*//configuration-info/ragent-name"
Run Code Online (Sandbox Code Playgroud)

将结果分配给变量:

for /f "tokens=* delims=" %%# in ('call xpath test.xml "*//configuration-info/ragent-name"') do set "reagent=%%#"
Run Code Online (Sandbox Code Playgroud)