2017-05-19 5 views
0

したがって、xmlファイルの奇数番号のノードのみを繰り返し処理しようとしています。 xはvbscriptを使用して、奇数番号のXMLノードの属性を反復処理するにはどうすればよいですか?

Option Explicit 

Dim xmlDoc, i, colNodes, objNode 
Set xmlDoc = _ 
    CreateObject("Microsoft.XMLDOM") 

xmlDoc.Async = "False" 
xmlDoc.Load("C:\Scripts\_setup.xml") 


Set colNodes=xmlDoc.selectNodes("//input") 

For Each objNode in colNodes 

    objNode.selectSingleNode("off_text").text = "me!" 
    objNode.selectSingleNode("on_text").text = "you!" 

    End If 

Next 

xmlDoc.Save "C:\Scripts\_setup.xml" 
+0

属性を持つノード名はxmlのinput id = 'x'です(xは1〜32の値です)。 –

答えて

0

1から32までの入力の値であり、あなたがこれにループのためにあなたを変更することができる場所という名前のノード:

intCount = colNodes.Length 
For i=0 to intCount-1 step 2 
    colNodes.item(i).selectSingleNode("off_text").text = "me!" 
    colNodes.item(i).selectSingleNode("on_text").text = "you!" 
Next 

だから、唯一のノード0,2,4,6 ... id30 = 01,5,7 ..... 31(が必要に応じて奇数番号

もう1つの方法は次のとおりです。

Set colNodes = oxml.selectnodes("//input") 
intCtr = colNodes.length 
For i=1 To intCtr 
    If i Mod 2 = 1 Then 
     Set tempNode = oxml.selectsinglenode("//input[@id='"&i&"']") 
     tempNode.selectsinglenode("off_text").text = "me!" 
     tempNode.selectsinglenode("on_text").text = "you!" 
    End If 
Next 
関連する問題