Hi Sree,
you should invoke resetDocumentPool(), not reset(). As for the code you posted previously, I noticed you were not releasing the transcoded strings (you actually commented the call to XMLString::release): that would be a substantial leak. On the other hand, if you want to parse files so big, you should investigate switching to SAX parsing.

Alberto

Sree Harsha wrote:
Thanks for your reply, but still the memory consumption has not come down. Is there any way i can reuse DOMDocument variable also like in the following snippet... do
{

/*create a source file */

parser_.parse(source); //parser_ is a XercesDOMParser object
xercesc::DOMDocument* xmlDoc = parser_.getDocument() ;

/*How to release the memory allocated to the DOMDocument pointer*/

/*parse the file source*/

/*delete the source file*/

/*I used the function which you suggested*/
parser_.reset(); /*still it takes up a lot of memory when parsing a big file*/

}while(dwbytes==bufsize);
/*some condition*/

Finally I also have one more doubt... When we use DOM, the entire file to be parsed is brought into the memory isnt it... Now if I have to parse a large file, say 380 MB or 1GB, we cant Bring the entire file to the memory. So I thought it would be better to split the file into smaller sizes and parse them bit by bit (4K long)... that is the reason i have used create source file in the above code....
Am I in the Right path????
On 2/26/08, *Jesse Pelton* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    It looks to me like you could call the various
    XercesDOMParser::reset...() and AbstractDOMParser::reset...()
    methods. Or, to be paranoid and/or lazy, you could use a new
    parser for each iteration.

    ------------------------------------------------------------------------
    *From:* Sree Harsha [mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>]
    *Sent:* Tuesday, February 26, 2008 5:40 AM
    *To:* [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>;
    [email protected] <mailto:[email protected]>
    *Subject:* Please help me out with this code..Can i reuse DOM
    objects in a while loop??????

/*Can i reuse the DOM objects like XercesDOMParser object in a
    do... while loop as follows.... or will it cause any memory leaks
    how to reuse them...*/
    do
    {

    /*create a source file */

    parser_.parse(source); //parser_ is a XercesDOMParser object

    /*parse the file source*/

    /*delete the source file*/

    /*what function should i call to reuse parser_ object in the next
    iteration so that memory consumption reduces */

    }while(dwbytes==bufsize);
    /*some condition*/


-- Regards
    Sree Harsha Vardhana S.N
    "When you want something, all the universe conspires in helping you to
    achieve it."

-- Regards
    Sree Harsha Vardhana S.N
    "When you want something, all the universe conspires in helping you to
    achieve it."




--
Regards
Sree Harsha Vardhana S.N
"When you want something, all the universe conspires in helping you to
achieve it."



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

Reply via email to