Re: Reading a XML document embeeded in a logfile

Michael Kay (M.H.Kay@eng.icl.co.uk)
Mon, 19 Oct 1998 09:55:00 +0100


Thillai asked:
>I have a scenario where one thread or process will keep on creating
>XML documents and append it in a logfile.
>
>Is there any way I can instruct the parser not to read the complete file?

There will not always be a one-to-one mapping between XML documents and
files. This is why SAX allows you to provide your own character or byte
stream to the parser, as an alternative to supplying a URL. So the solution
is to attach your own Reader to the log file, and supply that Reader to the
parser rather than supplying the raw file.

The problem in your case is detecting "end of document" so you can signal
"end of input stream" to the parser. I think you can do that by having your
application tell the Reader when the number of end tags notified by the
parser is equal to the number of start tags.

How your Reader decides where to start reading is a different problem: you
haven't given enough information about your scenario to answer it.

Mike Kay