【发布时间】:2018-03-05 12:43:04
【问题描述】:
我正在尝试使用批处理从 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 字符串中提取值?
【问题讨论】:
-
使用的批处理脚本:@echo off setlocal enableextensions EnableDelayedExpansion set input="test.xml" for /F "tokens=2 delims=" %%I in ('type %input% ^| find ""') do (set pwd=%%I echo !pwd!)
-
由于提供的文件示例不包含目标字符串,因此无法复制您的结果。 “未格式化的 XML 字符串”是什么意思?您想从您提供的样本中检索哪些信息?
-
您应该考虑使用具有本机方法来读取和写入 XML 的脚本语言。 Jscript、Vbscript 或 Powershell。
标签: xml batch-file extract readxml