Windows Batch:从未格式化的xml中读取很长的一行

时间:2014-09-17 11:14:19

标签: xml windows batch-file cmd

如何使用批处理文件读取很长一段未格式化的xml?我试图在每个">"之后插入换行符。

问题是,我的批处理文件在找到">"后会跳到下一行。

由于这种行为,只显示我的xml文件的第一个标签(只有一行,第二行不存在)。

这是我使用过的命令:

FOR /F "delims=>" %%i IN (test.xml) DO @echo %%i

这是我的xml文件的外观示例:

<simpleType name="parseType"><restriction base="xs:token"><enumeration value="xml"/<enumeration value="text"/></restriction></simpleType>

这是cmd命令的输出:

<simpleType name="parseType"

2 个答案:

答案 0 :(得分:3)

这是一种强有力的方法,可以处理很长的行:

type "file.txt" | repl ">" ">\r\n" XL >"newfile.txt"

这使用名为repl.bat的助手批处理文件(由dbenham提供) - 从以下网址下载:https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

答案 1 :(得分:0)

对不起你究竟想要什么?

如果你想将文件加载到控制台,你可以使用&#34; MORE&#34;命令而不是&#34; FOR&#34;。

more %%1

如果你想逐行加载XML - 编写简单的控制台应用程序非常容易:

Console.WriteLine(XElement.Load(args[0]));

因此它的格式有效。

您可以在&#34; BAT&#34;

中使用它

如果你想阅读XML&#34;逐行&#34;但是没有任何断路器 - 这是一个奇怪的想法,但是你仍然可以下载适用于Windows的Unix工具并使用grep等等,但它会让你大脑崩溃,仅此而已。