Build a query to join the two XML trees on the employee's Id. : Query « XML LINQ « VB.Net






Build a query to join the two XML trees on the employee's Id.

  

Imports System
Imports System.Xml.Linq

    Public Class MainClass

        Public Shared Sub Main()
            Dim employees As XElement = XElement.Load("Employees.xml")
            Dim titles As XElement = XElement.Load("Titles.xml")

            Dim query = From emp In employees.<Employee> _
                        Group Join title In titles.<Title> _
                        On emp.@id Equals title.@empId _
                        Into TitleList = Group _
                        Select EmployeeName = emp.<Name>.Value, _
                               TitleList
            For Each emp In query
                Console.WriteLine(emp.EmployeeName)
                For Each title In emp.TitleList
                    Console.WriteLine("{0} - {1}", title.<Name>.Value, title.<Status>.Value)
                Next
            Next
        End Sub

    End Class

   
    
  








Related examples in the same category

1.Build an element with a query
2.Loop through all the Employee nodes and insert the new 'TerminationDate' node and the 'Status' attribute
3.Loop through all the HourlyRate elements, setting them to the new payrate, which is the old rate * 5%.
4.Loop through all of the Employee elements and remove the HireDate element.
5.Loop through a node in Xml document
6.Query Xml document by Node value
7.Query for all of the employees that make (HourlyRate) more than $100 an hour
8.Query the XML Tree and get the Name and Hourly Rate elements.
9.Use LINQ to get the tasks for each employee and order them by the employee's name.
10.Using For Each to loop through the result of Xml query
11.Display the employee names and their hourly rate
12.Display the employee names and their new hourly rate.
13.Execute the query and loop through the results, displaying the Information to the screen.
14.Creating new Xml element in the query