2016-04-15 51 views
0

我正在嘗試使用循環更新.xml文件中的節點值。使用SelectSingleNode通過XML節點循環VBA

oXMlFile.SelectSingleNode行顯示正確更新單個節點,但我不知道如何修改代碼,以便我可以循環所有節點並更新值。

任何幫助,將不勝感激。

Set oXMLFile = CreateObject("Microsoft.XMLDOM") 
oXMLFile.Load (ConfigFile) 

'Update Node Attributes 

Dim ii, TotChan As String 
ii = 0 
TotCh = 500 

Do While (ii < TotCh - 1) 


Set CalibrationDateTimeNode=oXMLFile.SelectSingleNode("/HConfig/Signal[0]/CalibrationDateTime") 

CalibrationDateTimeNode.Text = "2016-04-16" 

ii = ii + 1 
Loop 

回答

1

我不太清楚你到底需要,但主要是通過XML節點循環,使用此:

Dim calibrationDateTimeNode As IXMLDOMNode 
Dim colNodes As IXMLDOMNodeList 

Set colNodes = oXMLFile.selectNodes("/HConfig/Signal[0]/...WhateverYouNeed") 
For Each CalibrationDateTimeNode In colNodes 
    CalibrationDateTimeNode.Text = "2016-04-16" 
Next 

該命令的SelectNodes可以selet節點列表,然後你可以遍歷其元素。每個使用一個使它比一個do-while更容易。更不用說更快,如果我沒有錯。

+0

謝謝,這就是我所需要的,現在一切正常。 – jmjaeckels