這是我的代碼片段,這部分是讀取XML文件並獲取操作的最後一個子屬性。在這種情況下,我想獲得類型C.事實是,腳本跳過了整個For
循環,正如我所說的回聲所證明的那樣。我做了一些搜索,但仍然無法找到我的代碼出了什麼問題。VBScript無法迭代XML節點
Set FSO = CreateObject("Scripting.FileSystemObject")
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "False"
counter = 0
xmlDoc.Load(mostrecent(i).Name)
Set colNodes = xmlDoc.SelectNodes("/Runs/Run/Operations")
WScript.Echo counter '<--appears
For Each objNode In colNodes
WScript.Echo counter '<--didn't appear
If Attr.Exists(objNode.LastChild.GetAttribute("type")) Then
counter = counter + 1
WScript.Echo counter
End If
Next
XML:
<Runs>
<Run>
<Operations>
<Operation type="A"></Operation>
<Operation type="B"></Operation>
<Operation type="C"></Operation>
</Operations>
</Run>
</Runs>
attr爲Dictionary對象,如果屬性值是內部字典,計數器值的一個+ 1。 – Zephyros
如果您沒有看到循環中的任何輸出,則意味着'SelectNodes'不會返回任何節點。這通常發生在XML數據具有名稱空間的情況下。您的實際XML是否包含'xmlns = ...'屬性和/或''節點? –
不,我的XML以 –
Zephyros