Różnica między: SAX Parser, XPath, DOM, XMLPullParser

Chcę poznać różnicę między czterema powyższymi typami (SAXPaser, XPath, DOM, XMLPullParse) i kiedy powinniśmy użyć każdego z nich.