LINQ to XML Part #2(XElement Class)


In this article, I will give explanation on XElement class. This class is used to construct XML Elements.What is Elements in XML?

XML Element is fundamental XML constructs. An Element has a name and optional attributes. An XML Elements can have nested Elements called Nodes also.

 XElement class
XElement Class is defined as below in namespace System.Xml.Linq. And it inherits the class XContainer that derives from XNode .

namespace System.Xml.Linq{
[XmlSchemaProvider(“”, IsAny = true)]

public class XElement : XContainer, IXmlSerializable
public XElement(XElement other);
public XElement(XName name);
public XElement(XStreamingElement other);
public XElement(XName name, object content);
public XElement(XName name, paramsobject[] content);

 5 Facts

  1. It is one of the base and fundamental class in LINQ to XML.
  2. It represents XML element.
  3. This class can be used to change the content of the element.
    1. It can add child element.
    2. It can delete child element.
    3. It can change child element.
    4. It can add attributes to an element.
  4. This class can be use to serialize the content in a text form.
  5. This class can be used to create XML tree.

Constructor of XAttribute

If you see above definition of XAttribute class; there are five constructors. Usually we use the below constructor

public XElement(XName name, object content);

name: It is unique name of Attribute in XML tree.

content: It is content of the attribute. It is of type object.


In below example; I am constructing a XElment called xmltree. This root element is having many nested XElement,

  1. XElement
    Data1 is having one XAttribute. Name of the Attribute is “name” and value of attribute is “dj“.
  2. XElement
    Data2 is having two XAttribute. They are ID and DEPT with values U18949 and MIT respectively.
XElement xmltree = new XElement(“Root”, new XElement(“Data1”, newXAttribute(“name”, “Dj”), 1),                 new XElement(“Data2”, new XAttribute(“ID”, “U18949”),
                 new XAttribute(“DEPT”,“MIT”),2),
                 new XElement(“Data3”, “3”),
                 new XElement(“Data4”, “4”)



In this article; I explained about XElement class. In next article, I will explain about CRUD operation on XML using LINQ to XML Thanks for reading.

One response to “LINQ to XML Part #2(XElement Class)”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at