读取XML文件并将其回显到控制台

时间:2012-12-03 22:02:07

标签: xml vbscript

我需要以人类可读的格式将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 >

关于我能做什么的任何想法?

1 个答案:

答案 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