I found this article a really good start:
Korny’s Blog: XML for Fun and Profit
I did a big hairy XML project recently and that article was a big help.
The (xml->) form let’s you drill right down and grab multiple nodes by tags, attributes, etc. That sounds like it might be the tool you’re missing.
As an interesting aside, I wonder how my program would have gone if I did it this way; for more simplicity and more initial understanding of the tools:
Processing Documents with Transducers