2014-11-22 99 views
1

我的代碼讀取XML元素是這樣的:vb.net XML For循環

Dim xmlRoot As XElement = XDocument.Load("x:\books.xml").Root 

For Each book As XElement In xmlRoot.<book> 
    Debug.WriteLine(book.<title>.Value) 
    Debug.WriteLine(book.<author>.Value) 
    Debug.WriteLine(book.<year>.Value) 
    Debug.WriteLine(book.<price>.Value) 
Next 

我現在想的是,如何只顯示10個元素。現在我已經顯示了所有的xml元素,但我只需要前10個。 嘗試了幾個For循環組合,但沒有得到它的工作。

感謝

+0

你試過什麼樣的組合? – 2014-11-23 00:02:48

回答

3

這樣的 - 請注意Take(10)末:

For Each book As XElement In xmlRoot.<book>.Take(10) 

Take是IEnumerable的擴展方法,你可以用任何東西使用它,而不是僅僅XElements。

+1

完美!謝謝!不知道「Take」擴展名。再次感謝。 – Rhck 2014-11-23 00:14:05

1

您可以將自己的指標添加到您現有的For

Dim i As Integer = 0 'No loops yet 
For Each book As XElement In xmlRoot.<book> 
    Debug.WriteLine(book.<title>.Value) 
    Debug.WriteLine(book.<author>.Value) 
    Debug.WriteLine(book.<year>.Value) 
    Debug.WriteLine(book.<price>.Value) 

    i = i + 1 'Completed one more loop 
    If (i = 10) Then Exit For 'Completed 10 loops, so stop 
Next