如何使用批处理文件从XML读取值?
<?xml version="1.0" encoding="UTF-16"?>
<PARENT>
<FTP>
<SAMPLE>
<FILE>test.xls</FILE>
<OUTBOX>testoutbox</OUTBOX>
<ARCHIVE>location</ARCHIVE>
</SAMPLE>
</FTP>
</PARENT>
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL
:: remove variables starting $
FOR /F "delims==" %%a In ('set $ 2^>Nul') DO SET "%%a="
FOR /f "tokens=2-4delims=<>" %%a IN (q26985813.txt) DO (
IF /i "/%%a"=="%%c" SET "$%%a=%%b"
)
SET $
GOTO :EOF
我使用了一个名为q26985813.txt
的文件,其中包含我的测试数据。
请注意,第一个for
会从环境中删除所有以$
开头的变量。
数据以变量$file
,$outbox
等方式返回 - 简单地以明显位置的$
为前缀。这样,例程将设置它在文件中找到的变量;如果您的标记名发生变化,变量也会发生变化。
例程依赖于缩进的相关数据行。