XML Processing Options
This document provides an overview of the technologies Microsoft delivers for processing XML data. Further investigation of these options can help in deciding which to use for a particular application.
LINQ to XML provides an in-memory interface for accessing XML data that is comparable to an updated, redesigned DOM interface. LINQ to XML leverages the .NET Framework Language-Integrated Query (LINQ), new capability in the .NET Framework 3.5.
The XmlReader class provides a fast, non-cached, forward-only means of accessing XML data.
The XmlWriter class provides a fast, non-cached, forward-only means of generating XML data.
The XmlDocument class implements the W3C DOM Level 1 Core and DOM Level 2 Core interfaces for reading and creating XML documents.
The XslCompiledTransform class provides options for transforming XML data using XSL transformations. The new XSLTC.exe tool allows pre-compiled transformations to be referenced in an application.
XmlLite is a fast, secure, non-caching, forward-only XML parser that allows developers to build high-performance XML applications. XmlLite works with any language that can use dynamic link libraries (DLLs); Microsoft recommends using C++.
MSXML is the COM-based technology for processing XML that is included with Microsoft Windows. MSXML provides a native implementation of the Document Object Model (DOM) with support for XPath and XSLT. MSXML also contains the SAX2 event-based parser.