我需要以人类可读的格式将XML回显到命令提示符,最好是像XML那样使它看起来完全正确。
当我这样做时
Set fs = CreateObject("Scripting.FileSystemObject")
Set fsInput = fs.OpenTextFile("\\PATH",1)
WScript.Echo fsInput.ReadAll
它给了我一个单独的文本行...所以我假设它将XML读作一行而不是遍历节点并输出它们。所以这不起作用。我一直在谷歌搜索最后一小时,但遗憾的是我无法找到我需要的东西。
以下是我的XML看起来像
的示例<?xml version="1.0"?>
<Configuration Date="12/3/2012 4:32:30 PM">
<Sys_Info>
<Name>CEJHUI34</Name>
<Manufacturer>LENOVO</Manufacturer>
<Model>7826</Model>
<Serial_Number>N/A</Serial_Number>
<Operating_System>"Microsoft Windows 7"</Operating_System>
<OS_Version>"Professional "</OS_Version>
<IP_Address>1.5.1.85</IP_Address>
<CPU_per_Domain>1</CPU_per_Domain>
<CPU_Speed_MHz>6984</CPU_Speed_MHz>
<RAM>3176.45 MB</RAM>
</Sys_Info>
<Configuration-Tasks>
<task>
<name>All updates loaded</name>
<result>PASS</result>
<comment></comment>
</task>
<task>
<name>Accounts Setup</name>
<result>FAIL</result>
<comment>No Guest account</comment>
</task>
</Configuration-Tasks>
</Configuration >
关于我能做什么的任何想法?
答案 0 :(得分:1)
使用ReadAll()
而不是ReadLine()
,而是单独输出每一行:
Set fs = CreateObject("Scripting.FileSystemObject")
Set fsInput = fs.OpenTextFile("\\PATH",1)
do until fsInput.AtEndOfStream
WScript.Echo fsInput.ReadLine()
loop
fsInput.Close