Microsoft KB Archive/252675

From BetaArchive Wiki
Knowledge Base

INFO: Use String Parameters to Handle XML Documents Across Tiers

Article ID: 252675

Article Last Modified on 9/30/2003


  • Microsoft XML Parser 2.5
  • Microsoft XML Core Services 4.0
  • Microsoft XML Parser 3.0 Service Pack 1
  • Microsoft XML Core Services 4.0

This article was previously published under Q252675


When you send information between component tiers in Extensible Markup Language (XML), you may want to use strings rather than instances of the MSXML DOMDocument object.


When you pass information between tiers, there are several advantages to using strings:

  • Your components can be called from (or consumed by) clients that do not have access to the XML DOM objects.
  • XML Documents are not "marshalled by value." If you return an XML document, the instance lives on the server. Each call to a property or method on the XML DOM object must go across the network to the original server. By using strings, you reduce network traffic significantly, and you decouple client and server failures.
  • The internal XML implementation of both client and server can change independently; for instance, if you choose to use another XML parser, or if you obtain XML from another source such as Microsoft ActiveX Data Objects (ADO).

There are, of course, exceptions where other mechanisms may prove more appropriate, such as when:

  • none of the above considerations is relevant to your situation.
  • the components that are passing DOM references are very cohesive, and will remain tightly bound both logically (shared development cycle, shared usage modes) and physically (same computer, same process) for the foreseeable future.
  • the documents are large and complex, and reloading and reparsing would be expensive, or would occupy resources for too long (reparsing a complex document while within a transaction may not be convenient).


MSDN XML Developer Center:

W3C XML Reference:

Additional query words: XML parameters arguments string passing data across Layers Tiers information records

Keywords: kbinfo kbguidelines kbdcom KB252675