使用VBScript在XML文件中循环

使用VBScript在XML文件中循环,vbscript,Vbscript,我下面有一个XML文件..我想循环这个文件并提取节点值,就像为node com获取名称值一样,然后循环2次以获取文件值 <common> <com name="Test1.css"> <file name="Tech.css"> <file name="Comp.css"> </com> <com name="Test2.css"> <file name="HR.css">

我下面有一个XML文件..我想循环这个文件并提取节点值,就像为node com获取名称值一样,然后循环2次以获取文件值

<common>
  <com name="Test1.css">
    <file name="Tech.css">
    <file name="Comp.css"> 
  </com>
  <com name="Test2.css">
    <file name="HR.css">
    <file name="HR2.css"> 
  </com> 
</common>

您的错误
所需对象:Root
表示在
objXMLDoc.load()
期间出现解析错误(因为这是
documentElement
将设置为
Nothing
的唯一情况)

检查
objXMLDoc.parseError

事实上,在加载XML文档后,您必须始终检查是否存在解析错误

更一般地说,在未检查对象引用是否有效的情况下,决不能使用对象引用,如
documentElement
。那是糟糕的风格


提示:根节点和文档元素是两个不同的东西

  • 根节点是
    /
    (本质上,根节点是文档)
  • 您案例中的文档元素是
  • 这意味着:
    objXMLDoc.documentElement.getElementsByTagName(“公共”)
    将为空

您的错误
所需对象:Root
表示在
objXMLDoc.load()
期间出现解析错误(因为这是唯一一种将
documentElement
设置为
Nothing
的情况)

检查
objXMLDoc.parseError

事实上,在加载XML文档后,您必须始终检查是否存在解析错误

更一般地说,在未检查对象引用是否有效的情况下,决不能使用对象引用,如
documentElement
。那是糟糕的风格


提示:根节点和文档元素是两个不同的东西

  • 根节点是
    /
    (本质上,根节点是文档)
  • 您案例中的文档元素是
  • 这意味着:
    objXMLDoc.documentElement.getElementsByTagName(“公共”)
    将为空

我检查了objXMLDoc.parseError,我得到了一个这个号码-1072896659…不确定我在这里做错了什么,这意味着您的XML文档格式不正确。解析错误中有一个错误描述,read.Yep my Mirror..感谢您的帮助人员..忘记关闭子元素。我检查了objXMLDoc.parseError,我得到了一个这个数字-1072896659…不确定我在这里做错了什么这意味着您的XML文档格式不正确。解析错误中有一个错误描述,请阅读。是的,我的错误..感谢你们的帮助..忘记关闭子元素了。
Dim Root

Set objXMLDoc = CreateObject("Microsoft.XMLDOM") 
objXMLDoc.async = False 
objXMLDoc.load("C:\test\combineXML.xml")    
Set Root = objXMLDoc.documentElement 
WScript.Echo Root
Set NodeList = Root.getElementsByTagName("common")     
For Each Elem In NodeList 
WScript.Echo Elem.text

Next