SpellParser for a text-based RPG
Your comments don't help much.  They should explain why you're doing what you're doing, not just paraphrase the code.  If you can't tell the reader anything more than the code already does, then a comment is pretty much just noise.
setUpDom() should probably be private.  Or possibly, done away with altogether, and its contents moved into one of the other methods.  It's doing stuff that looks like it should only be done once per XML document, and thus either once over the whole lifetime of the object or once each time you parse.  But it shouldn't be done by anything but your code.
If you can't handle an exception, you shouldn't be catching it.  And "printing a stack trace" is not handling.  :P

Once setUpDom() fails, the object is broken, so it doesn't make much sense to continue.  Let the exceptions propagate (declaring them in a throws clause instead), or throw your own exception type that describes what went wrong, including e as the inner exception.
You don't need to check that nl is an object, or worry about the length.  The Document class should always hand you back a NodeList, and your for loop will already loop 0 times if the list is empty, as the condition i &lt; nl.getLength() will be false before the very first iteration.
The getSpell function and Spell class don't seem to be here.  So there's not a whole lot more to say, other than "fix your indents".  (I half-expect that that is a copy/paste issue, but it should still be mentioned.)

It does appear that Spell has some static variables, though, which is usually not a great solution.  And you're hard-coding where the data comes from and where it goes.

I'd personally suggest a SpellBook class or the like, that holds spells.  You could pass an instance of such a type (and the name of the XML file) either to your constructor or to parse.  Among other things, that leaves open the possibility for multiple sets of spells.

If that's one of your classmates' part, though, and you can't change that...eh.  Carry on.