2016-02-12 19 views
5

Bất cứ ai cũng có thể đề xuất cách tốt nhất để bỏ qua lần xuất hiện đầu tiên của nút đầu tiên của XML và bắt đầu lặp lại từ nút thứ hai. Trong ví dụ bên dưới, tôi muốn bỏ qua lần xuất hiện đầu tiên của nút "word" và bắt đầu lặp lại lần xuất hiện thứ hai của nút "word". Cảm ơn trước.Bỏ qua nút đầu tiên và lặp lại từ nút thứ hai của xml trong VBS

<words> 
<word> 
    <name>Vowel</name> 
</word> 
<word> 
    <value>a</value> 
</word> 
<word> 
    <value>Vowel</value> 
</word> 
</words> 

Trả lời

1

Các nút con của nút được thu thập trong bộ sưu tập con của nó. Để bỏ qua các nút, bạn cần phải lặp qua các nút con bằng số/chỉ mục thay vì cách tiếp cận Mỗi phương pháp thường xuyên hơn. Trong mã:

Option Explicit 

Dim sXPath : sXPath = "/words" 
Dim oXDoc : Set oXDoc = CreateObject("Msxml2.DOMDocument.6.0") 
oXDoc.setProperty "SelectionLanguage", "XPath" 
oXDoc.async = False 
oXDoc.load "35359922.xml" 

If 0 = oXDoc.ParseError Then 
    Dim ndWords : Set ndWords = oXDoc.selectSingleNode(sXPath) 
    If ndWords Is Nothing Then 
     WScript.Echo "|", sXPath, "| not found" 
    Else 
     WScript.Echo "found " & ndWords.childNodes.length & " nodes." 
     Dim i 
     For i = 1 To ndWords.childNodes.length - 1 
      WScript.Echo i, ndWords.childNodes(i).text 
     Next 
    End If 

Else 
    WScript.Echo oXDoc.ParseError.Reason 
End If 

đầu ra:

cscript 35359922.vbs 
found 3 nodes. 
1 a 
2 Vowel 
+0

Đánh giá cao giải pháp của bạn, Cảm ơn bạn. –

Các vấn đề liên quan