This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: "MSXML" – news · newspapers · books · scholar · JSTOR (September 2018) (Learn how and when to remove this template message)

Microsoft XML Core Services (MSXML) are set of services that allow applications written in JScript, VBScript, and Microsoft development tools to build Windows-native XML-based applications. It supports XML 1.0, DOM, SAX, an XSLT 1.0 processor, XML schema support including XSD and XDR, as well as other XML-related technologies.


All MSXML products are similar in that they are exposed programmatically as OLE Automation (a subset of COM) components. Developers can program against MSXML components from C, C++ or from Active Scripting languages such as JScript and VBScript. Managed .NET Interop with MSXML COM components is not supported nor recommended.[1]

As with all COM components, an MSXML object is programmatically instantiated by CLSID or ProgID. Each version of MSXML exposes its own set of CLSID's and ProgIDs. For example, to create an MSXML 6.0 DOMDocument object, which exposes the IXmlDomDocument,[2] IXmlDomDocument2,[3] and IXmlDomDocument3[4] COM interfaces, the ProgID "MSXML2.DOMDocument.6.0" must be used.

MSXML also supports version-independent ProgIDs. Version-independent ProgIDs do not have a version number associated with them. For example, "Microsoft.XMLHTTP". These ProgIDs were first introduced in MSXML 1.0, however are currently mapped to MSXML 3.0 objects and the msxml3.dll.

Different versions of MSXML support slightly different sets of functionality. For example, while MSXML 3.0 supports only XDR schemas, it does not support XSD schemas. MSXML 4.0, MSXML 5.0, and MSXML 6.0 support XSD schemas. However, MSXML 6.0 does not support XDR schemas. Support for XML Digital Signatures is provided only by MSXML 5.0. For new XML-related software development, Microsoft recommends[5] using MSXML 6.0 or its lightweight cousin, XmlLite, for native code-only projects.[6]


MSXML is a collection of distinct products, released and supported by Microsoft. The product versions can be enumerated as follows:[7]



See also


  1. ^ "The use of MSXML is not supported in .NET applications". Microsoft. Retrieved 2010-03-18.
  2. ^ "IXMLDOMDocument/DOMDocument". MSDN. Retrieved 2008-05-28.
  3. ^ "IXMLDOMDocument2". MSDN. Retrieved 2008-05-28.
  4. ^ "IXMLDOMDocument3". MSDN. Retrieved 2008-05-28.
  5. ^ "Using MSXML in the browser". Retrieved 2008-05-28.
  6. ^ "XmlLite Programmers' Guide and API Reference". MSDN. Retrieved 2008-05-28.
  7. ^ MSXML Version List at Microsoft.
  8. ^ Office 2010: What's removed: Office 2010 Resource Kit documentation on TechNet
  9. ^ MSXML 4.0 SP3 Release Notes, Microsoft, 2009-09-29, archived from the original on 2020-08-06, retrieved 2011-01-21
  10. ^ MSXML Roadmap, Microsoft, 2013-03-15, retrieved 2015-07-11