Right now I have only used the XML DOM for one project. Navigation of the DOM tree is hard for me to follow. My hope had been that as I got more used to the DOM it would become second nature to me.
Your post leads me to believe that the problems with using the DOM directly are not going to go away as I become more familiar with it.
I am wondering whether for me XML::XPath for me might be the way to go. XPath is a W3C standard and a variety of languages implement it. At my company we may shift our development work from Perl to Java someday and I would like to be able to continue to use the same XML tools in Java as those I know and love in Perl.