Microsoft does not support the use of MSXML (Microsoft’s COM-based XML parser) in .NET applications.
MSXML uses threading models and garbage-collection mechanisms that are not compatible with the .NET Framework. Using MSXML in .NET applications through COM interoperability can result in unexpected problems that are difficult to debug. Microsoft does not recommend or support directly instantiating and using MSXML objects in .NET code, nor does Microsoft recommend or support marshalling MSXML interface pointers across the interop boundary.
Support for implementing standards-based XML functionality in .NET applications is built into the .NET Framework. The .NET Framework classes in the System.xml namespaces should be used to implement standards-based XML functionality in .NET applications.
For more information about implementing XML functionality in .NETapplications by using the Framework classes that are implemented in the System.xml namespace, click the following article numbers to view the articles in the Microsoft Knowledge Base:
324888 Support WebCast: Programming XML in the Microsoft .NET Framework Part II
For more information and code samples to explain how you can implement common MSXML tasks by using the System.xml .NET Framework classes, click the following article number to view the article in the Microsoft Knowledge Base:
330589 How to implement common MSXML tasks in System.xml by using Visual C# .NET