2014-11-22 65 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