Java Xml结构与XStream
我有课:Java Xml结构与XStream,java,xml,xstream,Java,Xml,Xstream,我有课: 公共类EnglishWord实现可序列化、可比较、, 可克隆{ 静态记录器=Logger.getLogger(EnglishWord.class) private static final long serialVersionUID=-5832989302176618764L; 私有字符串字;//如果不是个人名称,则小写 private int occurrencenumber=1;//0,1,2,3, private int rating;//1-first,2-second。。。
公共类EnglishWord实现可序列化、可比较、,
可克隆{
静态记录器=Logger.getLogger(EnglishWord.class)
private static final long serialVersionUID=-5832989302176618764L;
私有字符串字;//如果不是个人名称,则小写
private int occurrencenumber=1;//0,1,2,3,
private int rating;//1-first,2-second。。。
私人楼宇;
私有字符串翻译;
私有布尔动词;
私有布尔是名词;
私有布尔不规则;
。。。。
}
我已经设置了words=newtreeset();
我使用XStream进行序列化:
XStream xs=新的XStream();
别名(“englishWord”,englishWord.class);
FileOutputStream fs=null;
试一试{
fs=新文件输出流(文件名);
}catch(filenotfounde异常){
logger.error(例如getMessage());
}
xs.toXML(字,fs);
试一试{
fs.flush();
fs.close();
}捕获(IOE异常){
logger.error(例如getMessage());
}
在此之后,我得到如下文件结构:
<englishWord word="the" occurenceNumber="7480" rating="1" isVerb="true">
<builtFrom class="tree-set" >
<no-comparator/ >
<string >The </string >
<string >the </string >
</builtFrom >
</englishWord >
这个
7480
1.
这个
这个
假的
假的
假的
我可以通过XStream获得如下内容:
xs.useAttributeFor(EnglishWord.class, "word");
xs.useAttributeFor(EnglishWord.class, "occurenceNumber");
xs.useAttributeFor(EnglishWord.class, "rating");
xs.useAttributeFor(EnglishWord.class, "isVerb");
这个
这个
是的,这是可能的。查看,您需要属性别名部分。要将它们转换为属性,请尝试以下操作:
<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>
<englishWord word="the" occurenceNumber="7480" rating="1" isVerb="true">
<builtFrom class="tree-set" >
<no-comparator/ >
<string >The </string >
<string >the </string >
</builtFrom >
</englishWord >
xs.useAttributeFor(EnglishWord.class, "word");
xs.useAttributeFor(EnglishWord.class, "occurenceNumber");
xs.useAttributeFor(EnglishWord.class, "rating");
xs.useAttributeFor(EnglishWord.class, "isVerb");