0

我正在尝试使用批处理从 xml 输出字符串中提取元素值。使用了下面的代码,它适用于格式化的 xml 行,而不是单个 xml 字符串。例如:

格式化的xml:*

<?xml version="1.0" encoding="utf-16"?>
<DEVICE>
  <AGENT>
        <VERSION>2.0.0.2</VERSION>
        <CONNECTION>
            <LOCATION>US_NY</LOCATION>
            <SERVERIP>
                127.0.0.1
            </SERVERIP>
            <TCPPORT>
                5656
            </TCPPORT>
            <POLLINTERVAL>
                5
            </POLLINTERVAL>
        </CONNECTION>
    </AGENT>  
</DEVICE>

使用的批处理脚本:

@echo off 
setlocal enableextensions EnableDelayedExpansion 
set input="test.xml" 
for /F "tokens=2 delims=<>" %%I in ('type %input% ^|find "</password>"') do (
 set pwd=%%I echo !pwd! ) 

如何从任何未格式化的 xml 字符串中提取值?

4

1 回答 1

0

不知道你遇到什么问题
我使用了下面的代码,它对我有用。

@echo off  
color a  
cls  
cd "D:\"  
type 2.txt  
echo.  
echo.  
for /f "delims=" %%x in (2.txt) do set Build=%%x  
pause >nul  
exit  

在这里,我在本地驱动器上创建了一个 2.txt 文件,然后使用批处理脚本读取它。“2.txt”包含未格式化的单行 xml 字符串。

请检查这是否也适合您。
如果没有,请提供您所面临问题的更多详细信息。

于 2018-03-05T13:01:26.067 回答