2017-05-19 54 views
0

所以我想迭代xml文件中的奇數編號的節點。命名節點,其中x是從1輸入到32如何使用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中輸入id ='x',其中x是介於1和32之間的值 –

回答

0

值可以修改你的for循環這樣的:

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 ..... 30選擇具有屬性值'id'= 1,3,5,7 ..... 31(奇數號碼,如果需要)

另一種方法是:

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