2013-10-08 137 views
0

我有一個XML文件,格式如下。我在這裏做的是通過公共節點中的文件並循環它們。問題是公共節點中的註釋拋出一個錯誤,說getAttribute(「名稱」)不支持..可以有人請告訴我如何循環通過子節點,並避免閱讀評論行。讀取VBSCript中的XML文件節點

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> 
+0

請描述您嘗試解決的實際問題,而不是您認爲的解決方案。爲什麼你認爲你需要處理由父節點分組的子節點? –

回答

0

您可以考慮嘗試下面的代碼片段。

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 
+0

它不能正常工作......它正在做的是忽略父節點並一起處理所有子節點。而不是處理test1和test2.css,然後test3和test4.css它將所有4個處理在一起。 – user505210

+0

你的答案几乎奏效,但它應該是./file – user505210

+1

我剛剛更新我的答案與我的完整測試代碼片段,它的工作原理。沒有「一起處理所有4個」這樣的事情:每個節點都單獨處理。使用XPath,你不需要橫切所有的文檔結構,但是你可以通過直接搜索你需要的東西來加快速度。 –