[Expat-discuss] Re-entry XMLParser

nnfei nnfei@hotmail.com
Wed Dec 19 10:54:03 2001


This is a multi-part message in MIME format.

---------------------- multipart/alternative attachment
Hi all,

I'm a new user of expat XML parser, when I'm
trying to parse the same XML file twice, there's
an error reported like "Line1, junk after document element"
What does that mean? I don't want to create & free the XML
parser for every incoming packet.
Thanks,

Please refer to the following source code:
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 // =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
 // test............
 // =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
 test =3D fopen( "test.xml", "r" );
 if( test =3D=3D NULL )
 {
  TRACEOUT( "Couldn't open test XML file\n" );
  goto EXIT_PARSE;
 }

  len =3D fread( pBuff, 1, iBuffSize, test );
  if( ferror( test ) )
  {
   TRACEOUT( "Read error\n" );
   goto EXIT_PARSE;
  }
  done =3D feof( test );

  if( !XML_Parse( pXML, pBuff, len, done ) )
  {
   sprt.Format( "Parse error at line %d:\n%s\n",
      XML_GetCurrentLineNumber( pXML ),
      XML_ErrorString( XML_GetErrorCode( pXML ) ) );
   TRACEOUT( sprt.GetBuffer(0) );
   goto EXIT_PARSE;
  }

  if( !XML_Parse( pXML, pBuff, len, done ) )
  {
   sprt.Format( "Parse error at line %d:\n%s\n", =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D> error here! "junk after document =
element"
      XML_GetCurrentLineNumber( pXML ),
      XML_ErrorString( XML_GetErrorCode( pXML ) ) );
   TRACEOUT( sprt.GetBuffer(0) );
   goto EXIT_PARSE;
  }


---------------------- multipart/alternative attachment
An HTML attachment was scrubbed...
URL: http://mail.libexpat.org/pipermail-21/expat-discuss/attachments/20011219/0d1f0d73/attachment.html

---------------------- multipart/alternative attachment--