XML Processing Options
See the following tables for a list of Microsoft technologies you can use to process XML data.
.NET Framework Options
|LINQ to XML (C#)
LINQ to XML (Visual Basic)
|In-memory||- Based on the .NET Framework Language-Integrated Query (LINQ) technology.
- Provides query experience that is similar to SQL for objects, relational data, and XML data.
- Provides intuitive document creation and transformation capabilities.
- Use this option if you're writing new code.
|System.Xml.XmlReader||Stream-based||- Provides a fast, non-cached, forward-only way to access XML data.
- You can create objects by using the XmlReader.Create method, and specify the set of features to enable on the object by using the XmlReaderSettings class.
|System.Xml.XmlWriter||Stream-based||- Provides a fast, non-cached, forward-only way to generate XML data.
- You can create objects by using the XmlWriter.Create method, and specify the set of features to enable on the object by using the XmlWriterSettings class.
|System.Xml.XmlDocument||In-memory||- Implements the W3C Document Object Model (DOM) Level 1 Core and DOM Level 2 Core recommendations.
- You can create, insert, remove, and modify nodes by using methods and properties based on the familiar DOM model.
- Use this option if you're modifying existing code that utilizes the W3C DOM.
|System.Xml.XPath.XPathNavigator||In-memory||- Offers several editing options and navigation capabilities using a cursor model.
- XML documents can be contained in an XPathDocument or XmlDocument object.
- Provides excellent performance for read-only processing of XML.
- Use this option if you're modifying existing code with XPath queries or XSLT transformations.
|XslCompiledTransform||In-memory||- Provides options for transforming XML data using XSL transformations.
- The XSLT Compiler (xsltc.exe) lets you reference pre-compiled transformations in your app.
Win32 and COM-based Options
|XmlLite||- A fast, secure, non-caching, forward-only XML parser that helps you build high-performance XML apps.
- Works with any language that can use dynamic link libraries (DLLs); we recommend using C++.
|MSXML||- COM-based technology for processing XML that is included with the Windows operating system.
- Provides a native implementation of the DOM with support for XPath and XSLT.
- Contains the SAX2 event-based parser.