David,
It did look rediculous. However, there's some reason for it. We had a wrapper 
subsystem on xerces-c. Recently we
upgrade the source code from version 1.3( very old one) to 2.2. 1.3 has a very 
different memeory management
system from 2.2. Since we only expose DOM parser interface, we could get around the 
problem in version 1.3 using
the "SAX" way: in endElement() call, removed the specific node that we don't need. I 
don't know whether there is
any easy way of wrapping around SAX parser. The wrapper code has been used for a while 
by other subsystems. At
present, we don't want to disturb the wrapper interface. That's why I have the above 
question.

Thanks,

Lihong

David N Bertoni/Cambridge/IBM wrote:

> Hi,
>
> This makes no sense.  You cannot get the document until the parser is
> finished parsing it, so there's no way to use the DOMParser for this.
> Also, how can you say the DOM parser no longer needs a particular child?
> It's building a DOM representation of the document and that means
> everything must be there when it's finished.  Aren't you really saying
> _you_ don't need the child anymore?
>
> Why do you insist you need to use the DOM parser?  Not only is this a
> perfect case for using a SAX parser, but what you're looking for makes with
> the DOM model.
>
> Dave
>
>
>                       "Lihong Pei"
>                       <[EMAIL PROTECTED]         To:      [EMAIL PROTECTED]
>                       nx.com>                  cc:      (bcc: David N 
> Bertoni/Cambridge/IBM)
>                                                Subject: Questions on reading large 
> xml file using DOM parser
>                       03/07/2003 02:27
>                       PM
>                       Please respond
>                       to xerces-c-dev
>
>
> Hi,
> I'm trying to parse a large xml file (7MB) using DOM parser ( I have to
> use DOM parser). The xml file is like the following:
> <root>
> <child1> ---------------------------<child1/>
> <child2> ---------------------------<child2/>
>                          .
>                          .
>                          .
> <childn> ---------------------------<childn/>
> <root/>
> After the parser read through child1, it does not need it anymore. The
> same case as child2 and ... and childn. I know this is a perfect case for
> a SAX parser. However, I can't use it. I have to use DOM parser. Is there
> any way to remove child1 once the parser finished reading it so that the
> memory held by the parser is not too big?
>
> There might be some similar question asked before. However, I can't find
> it from the archive. Could you help with some hints?
>
> Thanks a lot!
>
> Lihong
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to