Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Xml结构与XStream_Java_Xml_Xstream - Fatal编程技术网

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");