XElement.Load Method (XmlReader)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Loads an XElement from an XmlReader.

Namespace:   System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

Public Shared Function Load (
	reader As XmlReader
) As XElement


Type: System.Xml.XmlReader

A XmlReader that will be read for the content of the XElement.

Return Value

Type: System.Xml.Linq.XElement

An XElement that contains the XML that was read from the specified XmlReader.

By creating an XmlNodeReader from a DOM document, and then using the XmlNodeReader to create an XElement, this method can be used to create a copy of a DOM document in a LINQ to XML tree.

LINQ to XML's loading functionality is built upon XmlReader. Therefore, you might catch any exceptions that are thrown by the XmlReader.Create overload methods and the XmlReader methods that read and parse the document.

The following example creates a DOM document, creates an XmlNodeReader from the DOM document, instantiates a tree from the reader. This code effectively copies a DOM document into a LINQ to XML tree.

' Create a DOM document with some content.
Dim doc As XmlDocument = New XmlDocument()
Dim child As XmlElement = doc.CreateElement("Child")
child.InnerText = "child contents"
Dim root As XmlElement = doc.CreateElement("Root")

' Create a reader and move to the content.
Using nodeReader = New XmlNodeReader(doc)
    ' the reader must be in the Interactive state in order to
    ' Create a LINQ to XML tree from it.

    Dim xRoot As XElement = XElement.Load(nodeReader)
End Using

This example produces the following output:

  <Child>child contents</Child>

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top