I like Berei's answer. However, I think the following is a little more flexible in that you don't have to alter your vimrc file. Plus it is easier to format select portions of the XML file (something I happen to do a lot).
First, highlight the XML you want to format.
Then, in visual mode, type ! xmllint --format -
Your command-line at the bottom will look like this:
:'<,'>!xmllint --format -
Then hit enter.
Technical Explanation
The selected text is sent to the xmllint command, then --format'ed, and the results of xmllint are placed over your selected text in vim. The - at the end of the command is for receiving standard input - which, in this case, is the selected text that vim sends to xmllint.