I guess it's about the nature of the data you're expressing in xml. if you've got document centered xml data - DOM means document object model - such as atricles and books you would generally refer to DOM. if your data can be easily presented as a tree, you'd also pick DOM, because it makes tree traversal easier. If your data is small and structured and can be easily transformed into java objects, you'd pick SAX. remember DOM will build up a tree representation of your xml and keep it in memory, beware of huge documents and memory exhaustion.