ich versucht haben, eine XML mit der simplexml Bibliothek (v2.6.2) http://simple.sourceforge.net/home.phpSimpleXML Enum Fall-Empfindlichkeit
erstellenDie XML-I erstellt werden soll hat einen Enum-Wert zu halten, der Fall empfindlich sein sollte . Im Folgenden ist der 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);
}
}
folgenden wird der Serialisierer-Code:
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);
}
}
Die resultierende Ausgabe:
<myEnum>NEW</myEnum>
Der gewünschte Ausgang:
<myEnum>new</myEnum>
Wie nehme ich Vorgehen ? Ich kann den Variablennamen in der Enum nicht ändern, da es zufällig das Schlüsselwort "neu" ist!
Danke.
versucht mit diesem Code schreiben: public String toString() \t { \t \t Rückkehr this.value.toLowerCase(); \t \t \t} – zombie
Zwingende gemäß den obigen Code funktioniert nicht, es noch „NEW“ zeigt und nicht als „neue“ – zombie
@zombie ich habe meine Antwort überarbeitet. Ich denke, diesmal ist es wirklich das, was du erwartest. – weidi