[Expat-discuss] Merge two XML data with libexpat?

Shawn Walker swalker at bynari.net
Fri Nov 9 00:25:51 CET 2007


Nick MacDonald wrote:
> There is no such thing as a correct way to merge two arbitrary XML
> files.  You're talking about combining to completely self-sufficient
> entities into a third entity with some sort of intelligence.  That's
> kinda like saying is there a tool to merge two books or two
> spreadsheets or two companies. (The tool is the human brain.)  Each
> file should, in theory, have a schema, and the correct way to merge
> them would probably involve output according to a third schema.  (Not
> that eXpat is a schema validating parser, but that's not really the
> point here.)

That's why it's quite difficult for me to try to even come up with 
something to merge in two XML data since I have no idea what some other 
application would put in the XML file.

> 
> There may well be existing tools that can do this...  but its likely
> any tool would have to understand the content/context of each file to
> know how to merge it.  Its not something I have ever heard of
> before... to me it sounds like you need a custom written tool.  (Of
> course, if you haven't yet done a search on SourceForge on merge and
> XML then who knows what you might find.)

I have been looking on SourceForge and google, but either somebody has 
some information on using Microsoft APIs using VisualBasic or some DOM 
object.  But, I need it in C or C++.

> 
> eXpat may not even be your best choice... it sounds like you would
> need to read the entirety of one document into memory (which is more
> of a DOM parser model than a SAX parser model) and then add/insert the
> contents of the second one into the correct places and then write out
> a brand new document.
> 
> In any case, hopefully your schema's are both very
> simple/straightforward and you can easily craft a special tool to
> solve your problem.

It's rather simple, but I would have no idea if somebody else would 
decide to throw in a complex schema.

> 
> Good luck,
>   Nick
> 
> 
> On 11/8/07, Shawn Walker <swalker at bynari.net> wrote:
>> rolf at pointsman.de wrote:
>>> On  8 Nov, Shawn Walker wrote:
>>>> Has anybody used libexpat to merge two XML data into one?  Or does
>>>> somebody know of a good library to do that?
>>> "[T]o merge two XML data" mean exactly what?
>> What I mean is that I have two XML files.  I created a new XML file
>> based on some data but I need to merge in the old XML file to merge in
>> data that I don't know about that another application had put in the XML
>> file.


More information about the Expat-discuss mailing list