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.

.NET Framework Options

Option

Namespace

Description

LINQ to XML

System.Xml.Linq

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.

XmlReader

System.Xml

The XmlReader class provides a fast, non-cached, forward-only means of accessing XML data.

XmlWriter

System.Xml

The XmlWriter class provides a fast, non-cached, forward-only means of generating XML data.

XmlDocument

System.Xml

The XmlDocument class implements the W3C DOM Level 1 Core and DOM Level 2 Core interfaces for reading and creating XML documents.

XPathNavigator

System.Xml.XPath

The XPathNavigator class provides several editing options and navigation capabilities over XML in an XmlDocument or an XPathDocument

XslCompiledTransform

System.Xml.Xsl

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.

Win32 and COM-based Options

Option

Description

XmlLite

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

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.

See Also

Concepts

Reading XML with the XmlReader

Process XML Data Using the XPath Data Model

Reference

XSLT Compiler (xsltc.exe)

Other Resources

Writing XML with the XmlWriter

Process XML Data Using the DOM Model