After working with jEdit and Emacs (both fine tools), I have settled on Vim as my XML text editor of choice. This decision happened shortly after I came across Devin Weaver’s xmledit.vim, which does everything I want. (Update: Thanks to Tobias Reif for providing me with a new link for the xmledit script.)
jEdit and Emacs are both fine tools for XML editing, though. jEdit has a great XML plugin that allows simultaneous tree view and text editing, and Emacs has the excellent PSGML mode. For more info on PSGML, see PSGML tricks.