LINQ to XML is a built-in LINQ data provider
that is implemented within the "System.Xml.Linq" namespace in .NET
3.5.
LINQ to XML provides a clean programming model
that enables you to read, construct and write XML data. You can use LINQ
to XML to perform LINQ queries over XML that you retrieve from the file-system,
from a remote HTTP URL or web-service, or from any in-memory XML
content.
LINQ to XML provides much richer (and easier)
querying and data shaping support than the low-level XmlReader/XmlWriter API in
.NET today. It also ends up being much more efficient (and uses much less
memory) than the DOM API that XmlDocument provides.