[Webinar] Streamline your web hosting managementRegister Today

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 956
  • Last Modified:

Merging XML documents using MSXML SAX under C++?

I have a program that generates data records in XML every hour.  Each data record is dropped into a temporary directory as a 3KB XML file.  This record is then merged to a larger record list using MSXML DOM objects.  Over months of running, the XML file has hit 60MB.  Even with smart pointers and careful memory cleanup, I'm finding that the memory footprint of the program is getting dangerously large.  This seems unavoidable, since DOM loads the entire document into memory, and the document inevitably grows in size each time I integrate a data entry to it.  

If this system is meant to run 24x7 for several years, we will almost certainly run out of memory as the XML file grows in size.

I did some research into this issue, and it looks like the SAX API *might* present an alternative.  I have *never* done development with SAX, so before I take the time to write up a proposal and research the API, I'd like to know if anyone has successfully used MSXML's SAX API for merging two XML documents.

I found an example on IBM's website that shows merging XML files using a java-based SAX implementation:  http://www.ibm.com/developerworks/xml/library/x-tipstx5/.  Can I achieve something similar with MSXML?

1 Solution
TomProAuthor Commented:
Good set of links.  That should be more than enough to get me started.

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now