vb.net XML For循环

时间:2014-11-22 23:59:48

标签: xml vb.net

我有读取这样的XML元素的代码:

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循环组合,但没有得到它。

由于

2 个答案:

答案 0 :(得分:3)

像这样 - 最后注意Take(10)

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

Take是IEnumerable的扩展方法,你可以将它与任何东西一起使用,而不仅仅是XElements。

答案 1 :(得分: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