XML Processing Options
See the following tables for a list of Microsoft technologies you can use to process XML data.
.NET Framework Options
Option | Processing type | Description |
---|---|---|
LINQ to XML (C#) LINQ to XML (Visual Basic) (System.Xml.Linq namespace) |
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
Option | Description |
---|---|
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. |
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for