As the title suggests, I'm trying to use an XML file as a dictionary for an NLP project I'm working on. I haven't done anything with reading and writing from/to XML so I was wondering what's the best way of doing this? I was looking into using XStream (XStream - About XStream) but I have no idea if this is the best way to go about doing this. Basically I'd like to have an XML file with definitions like:

<word>dog
<partOfSpeech>noun</partOfSpeech>
<category>animal</category>
<definition>a domesticated canid, Canis familiaris, bred in many varieties</definition>
</word>

I'll also have a word class like:

public class Word {
private String word;
private String partOfSpeech;
private String category;
private String definition;

...
}

I'd like to be able to update the NLP's dictionary by reading it in from the XML file and also be able to update the XML file from inside the program. Can anybody point me in the right direction as far as resources for something like this?