Hello, M Parish:
I think "StAX" (if I am not misinformed) translates to "XML Pull Parsing". I have used this on a small Android project, to pull data from a server. I don't necessarily recommend using that for Android, because XML is not the tightest format. But, I had all the other tools in place, and I have not settled this one for production, so it was quick to implement. I see this as analogous to sorting a bunch of 'stuff' into the right containers. You have to ask for what you want next.
This is a resource for pull parsing:
http://www.xmlpull.org/
I have worked with several other XML technologies through the years. Others to consider would be:
* SAX - this is a kind of "push" approach, where your code receives "event"-like callbacks for begin/end of tag, etc. This one can take more programming effort, but is faster than some others. Probably not any faster than pull, and you'd have to do more 'bookkeeping' with SAX--you have to track what tag is the parent of the current one (maybe even grandparent) if that is relevant. I think of SAX as working at a supermarket bagging groceries as they come by. You have to make sure they go into the right bag.
* DOM - fat city. I avoid this, even though it looks easy at first glance. It takes a multiple in memory of the document size. There is also a JDOM which is better on space. This approach requires a lot of checking of types as you walk the tree.
* JAX - Java XML. This is one of my favorites: you autogenerate code based on the Schema for the documents, and then walk that. It is like DOM but not as wasteful, and you get meaningful values at each level of he tree. This will take more in-memory space than SAX. But if you need all that information memory at once, and you do not have to marshal into some other data model, JAX can actually make you a usable model. JAX underlies Oracle's APIs for
SOAP.
I hope this helps.