2016-02-12 24 views
5

'da bir xml'nin ikinci düğümünden yineleyin Herkes, bir XML'in ilk düğümünün ilk oluşumunu atlamanın ve ikinci düğümünden yinelemeyi başlatmanın en iyi yolunu önerebilir. Aşağıdaki örnekte, "word" kelimesinin ilk oluşumunu atlamak ve "word" düğümünde ikinci yineleme formunu yinelemek istiyorum. Şimdiden teşekkürler.İlk düğümü atla ve VBS

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

cevap

1

Düğümün çocuk düğümleri, childNodes koleksiyonunda toplanır. Düğümleri atlamak için

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 

çıkışı:

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

, teşekkürler çözümünüzü için teşekkürler. –