如何使用批处理文件从XML读取值?

时间:2014-11-18 02:53:14

标签: xml batch-file

如何使用批处理文件从XML读取值?

<?xml version="1.0" encoding="UTF-16"?>
<PARENT>
<FTP>
<SAMPLE>
  <FILE>test.xls</FILE>
  <OUTBOX>testoutbox</OUTBOX>
  <ARCHIVE>location</ARCHIVE>
</SAMPLE>
</FTP>
</PARENT>

1 个答案:

答案 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等方式返回 - 简单地以明显位置的$为前缀。这样,例程将设置它在文件中找到的变量;如果您的标记名发生变化,变量也会发生变化。

例程依赖于缩进的相关数据行。