I have class:
public class EnglishWord implements Serializable, Comparable, Cloneable { static Logger logger = Logger.getLogger(EnglishWord.class);private static final long serialVersionUID = -5832989302176618764L; private String word;// in lowercase if not personal name private int occurenceNumber = 1;// 0,1,2,3, private int rating;// 1-first, 2 - second... private Set<String> builtFrom; private String translation; private boolean isVerb; private boolean isNoun; private boolean isIrregular;....
}
I have Set words = new TreeSet();
And I use XStream for serialization:XStream xs = new XStream(); xs.alias("englishWord", EnglishWord.class); FileOutputStream fs = null; try { fs = new FileOutputStream(fileName); } catch (FileNotFoundException e) { logger.error(e.getMessage()); } xs.toXML(words, fs); try { fs.flush(); fs.close(); } catch (IOException e) { logger.error(e.getMessage()); }After this I get structure of file like this:
<englishWord> <word >the </word > <occurenceNumber >7480 </occurenceNumber > <rating >1 </rating > <builtFrom class="tree-set" > <no-comparator/ > <string >The </string > <string >the </string > </builtFrom > <isVerb >false </isVerb > <isNoun >false </isNoun > <isIrregular >false </isIrregular > </englishWord>Can I get something like this with XStream:
<englishWord word="the" occurenceNumber="7480" rating="1" isVerb="true"> <builtFrom class="tree-set" > <no-comparator/ > <string >The </string > <string >the </string > </builtFrom > </englishWord >???
To convert them to attributes try the following: