Since it became available on February 10, 1998, Extensible Markup Language (XML) has been broadly supported and used. Today every development framework supports XML and its related specifications, such as the following:
XML Schema Definition (XSD) To define the structure of XML documents
Extensible Stylesheet Language for Transformations (XSLT) To transform XML documents from one schema to another
XPath and XQuery To search and traverse XML contents
Document Object Model (DOM) To manage in-memory representations of documents
Simple Object Access Protocol (SOAP) services To realize platform interoperability using XML messages
Despite its widespread use, XML is still often a hostile technology for many developers because of its rigorous syntax. LINQ to XML provides a new unified API, called the LINQ to XML API, to define and manage XML contents using Microsoft .NET code. The LINQ to XML API is fully integrated with the .NET type system and syntax. LINQ to XML uses LINQ extension methods to read, create, search, query, and generally manage XML contents within application code using .NET code and a language-agnostic API, the same as with entities, database records, and collections of items in general.