The easiest thing to do would probably be to use
JDOM... it uses DefaultMutableTreeNodes to represent XML elements, and these can be pulled directly into your TreeModel. As far as visualization, you'll need to do that yourself, but it sounds like all you need to do is highlight nodes, and a JTree already does that. If you need to do anything extra, you just need to extend DefaultTreeCellRenderer and provide the custom rendering in the getTreeCellRendererComponent() method.