<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FXML_LINQ%2FQuery</id>
		<title>VB.Net/XML LINQ/Query - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.vbex.ru/index.php?action=history&amp;feed=atom&amp;title=VB.Net%2FXML_LINQ%2FQuery"/>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/XML_LINQ/Query&amp;action=history"/>
		<updated>2026-04-05T13:12:43Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/XML_LINQ/Query&amp;diff=918&amp;oldid=prev</id>
		<title> в 16:40, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/XML_LINQ/Query&amp;diff=918&amp;oldid=prev"/>
				<updated>2010-05-26T16:40:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 16:40, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.vbex.ru/index.php?title=VB.Net/XML_LINQ/Query&amp;diff=919&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.vbex.ru/index.php?title=VB.Net/XML_LINQ/Query&amp;diff=919&amp;oldid=prev"/>
				<updated>2010-05-26T12:45:32Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Build an element with a query==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System.Collections.Generic&lt;br /&gt;
Class Car&lt;br /&gt;
  Public PetName As String&lt;br /&gt;
  Public ID As Integer&lt;br /&gt;
End Class&lt;br /&gt;
Module Program&lt;br /&gt;
  Sub Main()&lt;br /&gt;
    Dim data As New List(Of Car)&lt;br /&gt;
    data.Add(New Car With {.PetName = &amp;quot;A&amp;quot;, .ID = 10})&lt;br /&gt;
    data.Add(New Car With {.PetName = &amp;quot;Pat&amp;quot;, .ID = 11})&lt;br /&gt;
    data.Add(New Car With {.PetName = &amp;quot;Danny&amp;quot;, .ID = 12})&lt;br /&gt;
    data.Add(New Car With {.PetName = &amp;quot;B&amp;quot;, .ID = 13})&lt;br /&gt;
    Dim vehicles As XElement = _&lt;br /&gt;
      &amp;lt;Inventory&amp;gt;&lt;br /&gt;
        &amp;lt;%= From c In data _&lt;br /&gt;
          Select &amp;lt;Car ID=&amp;lt;%= c.ID %&amp;gt;&amp;gt;&lt;br /&gt;
                   &amp;lt;PetName&amp;gt;&amp;lt;%= c.PetName %&amp;gt;&amp;lt;/PetName&amp;gt;&lt;br /&gt;
                 &amp;lt;/Car&amp;gt; %&amp;gt;&lt;br /&gt;
      &amp;lt;/Inventory&amp;gt;&lt;br /&gt;
    Console.WriteLine(vehicles)&lt;br /&gt;
  End Sub&lt;br /&gt;
&lt;br /&gt;
End Module&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Build a query to join the two XML trees on the employee&amp;quot;s Id.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim titles As XElement = XElement.Load(&amp;quot;Titles.xml&amp;quot;)&lt;br /&gt;
            Dim query = From emp In employees.&amp;lt;Employee&amp;gt; _&lt;br /&gt;
                        Group Join title In titles.&amp;lt;Title&amp;gt; _&lt;br /&gt;
                        On emp.@id Equals title.@empId _&lt;br /&gt;
                        Into TitleList = Group _&lt;br /&gt;
                        Select EmployeeName = emp.&amp;lt;Name&amp;gt;.Value, _&lt;br /&gt;
                               TitleList&lt;br /&gt;
            For Each emp In query&lt;br /&gt;
                Console.WriteLine(emp.EmployeeName)&lt;br /&gt;
                For Each title In emp.TitleList&lt;br /&gt;
                    Console.WriteLine(&amp;quot;{0} - {1}&amp;quot;, title.&amp;lt;Name&amp;gt;.Value, title.&amp;lt;Status&amp;gt;.Value)&lt;br /&gt;
                Next&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating new Xml element in the query==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Reflection&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim xml As XElement = XElement.Load(&amp;quot;People.xml&amp;quot;)&lt;br /&gt;
        Dim query = From p In xml.Descendants(&amp;quot;person&amp;quot;), s In xml.Descendants(&amp;quot;id&amp;quot;) _&lt;br /&gt;
            Where p.Element(&amp;quot;id&amp;quot;).Value = s.Attribute(&amp;quot;id&amp;quot;).Value _&lt;br /&gt;
            Select New With {.FirstName = p.Element(&amp;quot;firstname&amp;quot;).Value, _&lt;br /&gt;
                                .LastName = p.Element(&amp;quot;lastname&amp;quot;).Value, _&lt;br /&gt;
                                .Amount = s.Attribute(&amp;quot;salar&amp;quot;).Value}&lt;br /&gt;
        For Each record In query&lt;br /&gt;
            Console.WriteLine(&amp;quot;Person: {0} {1}, Salary {2}&amp;quot;, record.FirstName, _&lt;br /&gt;
                                                            record.LastName, _&lt;br /&gt;
                                                            record.Amount)&lt;br /&gt;
        Next&lt;br /&gt;
&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display the employee names and their hourly rate==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim beforeQuery = From ele In employees.&amp;lt;Employee&amp;gt; Select Name = ele.&amp;lt;Name&amp;gt;.Value, Wage = CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value)&lt;br /&gt;
            For Each ele In beforeQuery&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} gets paid ${1} an hour.&amp;quot;, ele.Name, ele.Wage.ToString())&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Display the employee names and their new hourly rate.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim afterQuery = From ele In employees.&amp;lt;Employee&amp;gt; Select Name = ele.&amp;lt;Name&amp;gt;.Value, Wage = CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value)&lt;br /&gt;
&lt;br /&gt;
            For Each ele In afterQuery&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} gets paid ${1} an hour.&amp;quot;, ele.Name, ele.Wage.ToString(&amp;quot;##.##&amp;quot;))&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Execute the query and loop through the results, displaying the Information to the screen.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
Imports System.Xml.XPath&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;EmployeesAndTasks.xml&amp;quot;)&lt;br /&gt;
            Dim linqQuery = From task In employees.&amp;lt;Employee&amp;gt;...&amp;lt;Task&amp;gt; _&lt;br /&gt;
                            Select EmployeeName = task.Parent.Parent.&amp;lt;Name&amp;gt;.Value, _&lt;br /&gt;
                                   TaskName = task.&amp;lt;Name&amp;gt;.Value, _&lt;br /&gt;
                                   task.&amp;lt;Description&amp;gt;.Value _&lt;br /&gt;
                            Order By EmployeeName&lt;br /&gt;
            For Each task In linqQuery&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0,-15} - {1} ({2})&amp;quot;, task.EmployeeName, task.TaskName, task.Description)&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loop through all of the Employee elements and remove the HireDate element.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
 &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            employees.&amp;lt;Employee&amp;gt;.ElementAt(3).Remove()&lt;br /&gt;
            For Each ele In employees.&amp;lt;Employee&amp;gt;.ToList&lt;br /&gt;
                ele.SetElementValue(&amp;quot;HireDate&amp;quot;, Nothing)&lt;br /&gt;
            Next&lt;br /&gt;
            Console.WriteLine(employees.ToString)&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loop through all the Employee nodes and insert the new &amp;quot;TerminationDate&amp;quot; node and the &amp;quot;Status&amp;quot; attribute==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim newEmployee = &amp;lt;Employee id=&amp;lt;%= 1 %&amp;gt;&amp;gt;&lt;br /&gt;
                                  &amp;lt;Name&amp;gt;First&amp;lt;/Name&amp;gt;&lt;br /&gt;
                                  &amp;lt;Title&amp;gt;Coder&amp;lt;/Title&amp;gt;&lt;br /&gt;
                                  &amp;lt;HireDate&amp;gt;07/15/2006&amp;lt;/HireDate&amp;gt;&lt;br /&gt;
                                  &amp;lt;HourlyRate&amp;gt;9.95&amp;lt;/HourlyRate&amp;gt;&lt;br /&gt;
                              &amp;lt;/Employee&amp;gt;&lt;br /&gt;
            employees.Add(newEmployee)&lt;br /&gt;
            For Each ele In employees.&amp;lt;Employee&amp;gt;&lt;br /&gt;
                ele.Add(&amp;lt;TerminationDate&amp;gt;&amp;lt;/TerminationDate&amp;gt;)&lt;br /&gt;
                ele.Add(New XAttribute(&amp;quot;Status&amp;quot;, &amp;quot;&amp;quot;))&lt;br /&gt;
            Next&lt;br /&gt;
            Console.WriteLine(employees.ToString())&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loop through all the HourlyRate elements, setting them to  the new payrate, which is the old rate * 5%.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim beforeQuery = From ele In employees.&amp;lt;Employee&amp;gt; Select Name = ele.&amp;lt;Name&amp;gt;.Value, Wage = CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value)&lt;br /&gt;
&lt;br /&gt;
            Dim currentPayRate As Double = 0&lt;br /&gt;
            For Each ele In employees.&amp;lt;Employee&amp;gt;.&amp;lt;HourlyRate&amp;gt;&lt;br /&gt;
                currentPayRate = (ele.Value) + ((ele.Value) * 0.05)&lt;br /&gt;
                ele.SetValue(currentPayRate)&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loop through a node in Xml document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Module Program&lt;br /&gt;
  Sub Main()&lt;br /&gt;
    Dim doc As XElement = XElement.Load(&amp;quot;Inventory.xml&amp;quot;)&lt;br /&gt;
    Dim petNames = From pn In doc...&amp;lt;PetName&amp;gt; Select pn.Value&lt;br /&gt;
    For Each name In petNames&lt;br /&gt;
      Console.WriteLine(&amp;quot;Name: {0}&amp;quot;, name)&lt;br /&gt;
    Next&lt;br /&gt;
  End Sub&lt;br /&gt;
End Module&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Query for all of the employees that make (HourlyRate) more than $100 an hour==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim query = From ele In employees.&amp;lt;Employee&amp;gt; _&lt;br /&gt;
                        Where CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value) &amp;gt;= 100 _&lt;br /&gt;
                        Select ele.@id, ele.&amp;lt;Name&amp;gt;.Value, Pay = CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value) _&lt;br /&gt;
                        Order By Name&lt;br /&gt;
            For Each emp In query&lt;br /&gt;
                Console.WriteLine(&amp;quot;[{0,-2}] {1,-25} ${2,-6}&amp;quot;, emp.id, emp.Name, emp.Pay.ToString(&amp;quot;##.00&amp;quot;))&lt;br /&gt;
            Next&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Query the XML Tree and get the Name and Hourly Rate elements.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;Employees.xml&amp;quot;)&lt;br /&gt;
            Dim afterQuery = From ele In employees.&amp;lt;Employee&amp;gt; Select Name = ele.&amp;lt;Name&amp;gt;.Value, Wage = CDbl(ele.&amp;lt;HourlyRate&amp;gt;.Value)&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Query Xml document by Node value==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Module Program&lt;br /&gt;
  Sub Main()&lt;br /&gt;
    Dim doc As XElement = XElement.Load(&amp;quot;Inventory.xml&amp;quot;)&lt;br /&gt;
    Dim fords = From c In doc...&amp;lt;Make&amp;gt; Where c.Value = &amp;quot;Ford&amp;quot; Select c&lt;br /&gt;
    For Each f In fords&lt;br /&gt;
      Console.WriteLine(&amp;quot;Make: {0}&amp;quot;, f)&lt;br /&gt;
    Next&lt;br /&gt;
  End Sub&lt;br /&gt;
End Module&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use LINQ to get the tasks for each employee and order them by the employee&amp;quot;s name.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Xml.Linq&lt;br /&gt;
Imports System.Xml.XPath&lt;br /&gt;
    Public Class MainClass&lt;br /&gt;
        Public Shared Sub Main()&lt;br /&gt;
            Dim employees As XElement = XElement.Load(&amp;quot;EmployeesAndTasks.xml&amp;quot;)&lt;br /&gt;
            Dim linqQuery = From task In employees.&amp;lt;Employee&amp;gt;...&amp;lt;Task&amp;gt; _&lt;br /&gt;
                            Select EmployeeName = task.Parent.Parent.&amp;lt;Name&amp;gt;.Value, _&lt;br /&gt;
                                   TaskName = task.&amp;lt;Name&amp;gt;.Value, _&lt;br /&gt;
                                   task.&amp;lt;Description&amp;gt;.Value _&lt;br /&gt;
                            Order By EmployeeName&lt;br /&gt;
        End Sub&lt;br /&gt;
    End Class&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using For Each to loop through the result of Xml query==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;vbnet&amp;quot;&amp;gt;  &lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Reflection&lt;br /&gt;
Imports System.Xml&lt;br /&gt;
Module Module1&lt;br /&gt;
    Sub Main()&lt;br /&gt;
        Dim xml As XElement = XElement.Load(&amp;quot;People.xml&amp;quot;)&lt;br /&gt;
        Dim query = From s In xml.Elements(&amp;quot;salary&amp;quot;).Elements(&amp;quot;id&amp;quot;) _&lt;br /&gt;
            Where s.Attribute(&amp;quot;year&amp;quot;).Value = 2004 _&lt;br /&gt;
            Select s&lt;br /&gt;
        For Each record In query&lt;br /&gt;
            Console.WriteLine(&amp;quot;Amount: {0}&amp;quot;, record.Attribute(&amp;quot;salaryyear&amp;quot;))&lt;br /&gt;
        Next&lt;br /&gt;
&lt;br /&gt;
    End Sub&lt;br /&gt;
End Module&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>