私が作成したいXMLは大文字と小文字を区別する必要があります列挙型の値を保持するために持ってい http://simple.sourceforge.net/home.phpSimpleXMLを列挙大文字と小文字の区別
(v2.6.2) 。 POJO、次のとおりです。
package pojos;
public enum MyEnum {
NEW("new"),
OLD("old");
private final String value;
MyEnum(String v)
{
value = v;
}
public String value() {
return value;
}
public static MyEnum fromValue(String v) {
for (MyEnum c: MyEnum.values()) {
if (c.value.equals(v)) {
return c;
}
}
throw new IllegalArgumentException(v);
}
}
以下は、シリアライザコード:結果の出力
import java.io.File;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import pojos.MyEnum;
public class TestEnum {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Serializer serializer = new Persister();
MyEnum example = MyEnum.NEW;
File result = new File("myenum.xml");
serializer.write(example, result);
}
}
:所望の出力
<myEnum>NEW</myEnum>
:
<myEnum>new</myEnum>
どのように私がすべき進む?私は列挙型の変数名を "new"というキーワードに変更することはできません!
ありがとうございました。
使用して結果を書き込むそして
toString()
をオーバーライドする必要があります:パブリック文字列のtoString() \t { \t \tリターンthis.value.toLowerCaseを();上記のコードごとにオーバーライド \t \t \t} – zombie
が動作していない、それはまだかなり私は私の答えを修正した「新」 – zombie
@zombieより「NEW」を示しています。今回は本当にあなたが期待していることをすると思います。 – weidi