XPath searches a document. That's all. In theory it doesn't matter what kind of parser was used, but typically it searches a tree structure (a "DOM") that has already been built by a parser rather than searching and parsing at the same time.
And typically these DOM objects are built by something that uses a SAX parser to break a document into its constituent parts, but that isn't important. What is mostly important is the abstractions (such as DOM and XPath) that you use to work with XML documents.
The great virtue of XPath is clarity of expression, but this comes at a cost in execution time so if you have a LOT of operations to perform in a DOM you may want to look into working closer to the org.w3c.dom package methods. I made some test timings for this article.