Hallo zusammen
Ich versuche durch JAXB Unmarshaller mein Java-List anhand von einer XML-Datei auszufüllen.
Ich bekomme für die "Unmarshalling" zwar keine Exception, allerdings hat die Liste danach den Wert null.
Ich weiss nicht, was da falsch sein könnte. Weiss eventuell jemand wo der Fehler liegt?
Ich versuche durch JAXB Unmarshaller mein Java-List anhand von einer XML-Datei auszufüllen.
Ich bekomme für die "Unmarshalling" zwar keine Exception, allerdings hat die Liste danach den Wert null.
Ich weiss nicht, was da falsch sein könnte. Weiss eventuell jemand wo der Fehler liegt?
Java:
@XmlAccessorType(XmlAccessType.FIELD)
public class ConfigLogProperties {
@XmlElementWrapper(name = "logProperties")
@XmlElement(name = "logProperty", required = true)
private List<LogProperty> logProperties;
public List<LogProperty> getLogProperties() {
return logProperties;
}
public void setLogProperties(List<LogProperty> logProperties) {
this.logProperties = logProperties;
}
}
Java:
@XmlAccessorType(XmlAccessType.FIELD)
public class LogProperty {
@XmlElement(name="logName")
private String logName;
@XmlElement(name="severity")
private String severity;
@XmlElement(name="solved")
private boolean solved;
@XmlElement(name="number")
private int number;
//getters und setters
}
Java:
public class TestClass {
public static void main(String[] args) {
try {
ConfigLogProperties config;
File file = new File("src/LogProperties.xml");
Unmarshaller configUnmarshaller = JAXBContext.newInstance(ConfigLogProperties.class).createUnmarshaller();
StreamSource stream = new StreamSource(file);
config = configUnmarshaller.unmarshal(stream, ConfigLogProperties.class).getValue();
List<LogProperty> myList = config.getLogProperties();
System.out.println(myList.size());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
Java:
<?xml version="1.0" encoding="UTF-8" ?>
<logProperties>
<logProperty>
<logName>log1</logName>
<severity>info</severity>
<solved>false</solved>
<number>1</number>
</logProperty>
<logProperty>
<logName>log2</logName>
<severity>error</severity>
<solved>true</solved>
<number>2</number>
</logProperty>
</logProperties>
Zuletzt bearbeitet: