My immediate answer to this is yes, all the information you need for a
search engine is available via the SAX or DOM interface offered by many
parsers.
This is certainly true for the indexing phase; for displaying hit documents
I can think of some requirements that a standard parser might not meet, such
as displaying the text around a search term without parsing the whole
document. So it depends on your detailed design. But in any case many XML
parsers are available with source code so you shouldn't need to write a new
one from scratch.
Of course you don't need to build your own search engine either, all you
need to do is write an XML filter for an existing search engine. I'm
surprised no-one seems to have done this yet.
Mike Kay