>I was wondering about the decision of instantiate "Microsoft.XMLDOM" (which limits to versions of the Microsoft parser below 3) instead of cascading from DOMDocument.6.0
I had a very good reason, regardless of namespaces (which I never fully understood and don't use them).
Writing code which consumes xml retrieved from an outside service, and btw it was completely lacking the header line - so version unknown - using the MSXML2.DOMDocument.4.0 worked fine all the time (in development, testing on our side, my testing on client side) and then banged with a mysterious error when testing from most of the workstations. The reason was eventually the security - the police state (aka IT security cerberi of the customer) forbid pretty much any web access unless it went via their proxy. What web access? The xml was already present, retrieved and stored into the database. It's just a string now. Well, someone in Redmond figured that xml is a web thing and that nobody would be using it locally, so anything xml is basically doing web access, and the implied URL, being empty and unused, failed some security check. Bang.
I had to revert to the older versions of the parser, which predate (predator-like :) this great invention of checking a blank url and deciding that it's too dangerous.