在VBSCript中读取XML文件节点

在VBSCript中读取XML文件节点,vbscript,Vbscript,我有一个以下格式的XML文件..我在这里做的是遍历公共节点中的文件并循环遍历..问题是公共节点中的注释抛出一个错误,该错误表示getAttribute(“名称”)不支持..有人能告诉我如何循环子节点并避免阅读注释行吗 Set objNodeList = xmlDoc.getElementsByTagName("Common") For each comNodeItem in objNodeList On Error Resume Next for each fileNodeIt

我有一个以下格式的XML文件..我在这里做的是遍历公共节点中的文件并循环遍历..问题是公共节点中的注释抛出一个错误,该错误表示getAttribute(“名称”)不支持..有人能告诉我如何循环子节点并避免阅读注释行吗

Set objNodeList = xmlDoc.getElementsByTagName("Common")

For each comNodeItem in objNodeList

   On Error Resume Next
    for each fileNodeItem in comNodeItem.ChildNodes        

        fileName = fileNodeItem.getAttribute("name")   



  next

    <Common>
        <!-- Test Comment -->
        <file name="Test1.css"/>
            <file name="Test2.css"/>
    </Common>
    <Common>
        <!-- Test Comment -->
        <file name="Test3.css"/>
            <file name="Test4.css"/>
    </Common>
Set objNodeList=xmlDoc.getElementsByTagName(“公共”)
对于objNodeList中的每个comNodeItem
出错时继续下一步
对于comNodeItem.ChildNodes中的每个fileNodeItem
fileName=fileNodeItem.getAttribute(“名称”)
下一个

<代码> > p>您可以考虑尝试下面的代码片段。

Set xmlDoc = CreateObject("MSXML.DomDocument")
xmlDoc.LoadXML "<Common><!-- Test Comment --><file name='Test1.css'/><file name='Test2.css'/></Common>"
For Each xmlFile in xmlDoc.selectNodes("//file")
    MsgBox xmlFile.getAttribute("name")
Next
Set xmlDoc=CreateObject(“MSXML.DomDocument”)
xmlDoc.LoadXML“”
对于xmlDoc.selectNodes(“//文件”)中的每个xmlFile
MsgBox xmlFile.getAttribute(“名称”)
下一个

它工作不正常…它所做的是忽略父节点并同时处理所有子节点..这意味着它不处理test1和test2.css,然后处理test3和test4.css,而是同时处理所有4个。我刚刚用完整的测试片段更新了我的答案,它工作正常。没有“一起处理所有4个”这样的事情:每个节点都单独处理。使用XPath,您不需要横穿所有文档结构,但可以通过直接搜索所需内容来加快速度。请描述您试图解决的实际问题,而不是您认为的解决方案。为什么您认为需要处理按父节点分组的子节点?