2017-04-12 40 views
0

我有以下格式的XML:如何提取一个XML两个标记之间的文本到一个文件

<Record> 
    <ID>aaa</ID> 
    <NAME>aaa</NAME> 
    <ADD>aaa</ADD> 
</RECORD> 
<Record> 
    <ID>bbb</ID> 
    <NAME>bbb</NAME> 
    <ADD>bbb</ADD> 
</RECORD> 

我想提取的ID标签之间的所有文本,并把他们在另一个单独的行file.txt的。

我的蝙蝠如下:

@echo off 
setlocal EnableDelayedExpansion 

for /F "delims=" %%a in (file.xml) do (
    set "line=%%a" 
    for %%X in (^"^ 
% Do NOT remove this line % 
^") do for /F "delims=" %%b in ("!line:>=%%~X!") do (
     if /I "!field!" equ "<ID_IC" for /F "delims=<" %%c in ("%%b") do >> file2.txt 
     set "field=%%b" 
    ) 
) 

但不知何故,这是行不通的。任何人都可以帮助我吗?

回答

0
for /f "tokens=2,3,4delims=<>" %%a in (filename) do if /i "%%a%%c"=="ID/ID" echo %%b 

应根据需要列出您的数据。

看看数据的每一行和tokenise使用<>所以

<ID>aaa</ID> 

变为令牌1 =前导空格,2 = “ID”,3 = AAA和4 =/ID

因此,如果令牌2在%%a%%c与令牌4级联是ID/ID然后所需要的数据是在%%b(令牌3)

Simples。

+0

我没有得到你的答案。 – tabby

+0

我不明白你的意思。 – Magoo

相关问题