gpt4 book ai didi

java - 使用 XStream 的 Xml 结构

转载 作者:行者123 更新时间:2023-11-30 05:09:44 25 4
gpt4 key购买 nike

我有课:


public class EnglishWord implements Serializable, Comparable,
Cloneable {
static Logger logger = Logger.getLogger(EnglishWord.class);<p></p>

<pre><code>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;
</code></pre>

<p>....
}
</p>

我有 Set Words = new TreeSet();我使用 XStream 进行序列化:


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());
}

之后我得到这样的文件结构:

   
<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>

我可以用 XStream 得到这样的东西吗:


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

关于java - 使用 XStream 的 Xml 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com