2012-08-07 91 views
0

此脚本通过Windows子文件夹搜索XML文件。循环应该加载XML文件并执行一个操作,然后传递到下一个XML文件等VBS和XPATH处理多个XML文件

此行没有被解释我希望的方式:什么是写的正确方法

If oXML.load(objFile.name) Then 
WScript.Echo "XML file loaded" 

这个代码?

这是完整的脚本。

Set objFSO = CreateObject("Scripting.FileSystemObject") 
objStartFolder = "C:\test_env" 

set oXML = CreateObject("Msxml2.DOMDocument") 
oXML.async = "false" 

Set objFolder = objFSO.GetFolder(objStartFolder) 
Wscript.Echo objFolder.Path 
Set colFiles = objFolder.Files 
For Each objFile in colFiles 
    Wscript.Echo objFile.Name 
Next 
Wscript.Echo 

ShowSubfolders objFSO.GetFolder(objStartFolder) 

Sub ShowSubFolders(Folder) 
    For Each Subfolder in Folder.SubFolders 
     Set objFolder = objFSO.GetFolder(Subfolder.Path) 
     Set colFiles = objFolder.Files 
     For Each objFile in colFiles 
      If UCase(objFSO.GetExtensionName(objFile.name)) = "XML" Then 
       Wscript.Echo Subfolder.Path 
       Wscript.Echo objFile.Name 
       ' LOAD THE XML FILE 
       If oXML.load(objFile.name) Then 
       WScript.Echo "XML loaded" 
       Else WScript.Echo "XML not loaded" 
       End If 
      End If 
     Next 
     ShowSubFolders Subfolder 
    Next 
End Sub 

在此先感谢。

回答

0

的.load方法需要的完整路径.xml文件,所以更改

If oXML.load(objFile.name) Then 

If oXML.load(objFile.Path) Then 

它可能是一个好主意,看看.parseError.reason失败的情况下。

+0

是的!那就是诀窍。谢谢Ekkehard – Matthr0X 2012-08-07 15:17:16