Use Linq query to get XML document elements : Query « XML LINQ « C# / C Sharp






Use Linq query to get XML document elements

 

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Reflection;
using System.Xml.Linq;

class Program {
    static void Main(string[] args) {
        XElement xml = XElement.Load("Employee.xml");
        XElement html = new XElement("HTML",
                                new XElement("BODY",
                                    new XElement("TABLE",
                                        new XElement("TH", "ID"),
                                        new XElement("TH", "Full Name"),
                                        new XElement("TH", "Role"),
                                            from p in xml.Descendants("person")
                                            join r in xml.Descendants("role") on (int)p.Element("idrole") equals (int)r.Element("id")
                                            select new XElement("TR",
                                                            new XElement("TD", p.Element("id").Value),
                                                            new XElement("TD", p.Element("firstname").Value + " " + p.Element("lastname").Value),
                                                            new XElement("TD", r.Element("roledescription").Value)))));

        html.Save(@"C:\People.html");
    }
}

 








Related examples in the same category

1.A Simple XML Query Using LINQ to XML
2.Query XML document with where clause
3.Query XML document by attribute
4.Query XML with Descendants
5.Query XML document with Ancestors and First
6.Get Node by type with OfType
7.Query XML with namespace
8.Query string array by its element length
9.use Linq to query an XML document