Hallo.
Ich Versuche eine Liste von 'Route'-Objekten als XML abzuspeichern.
Wenn ich alle Objekte einzeln aus meiner Liste MyRouteCollection auslese und speicher, dann ist alles ok.
Wenn ich aber versuche die Liste direkt abzuspeichern, dann bekomme ich eine XML Datei ohne Felder:
(natürlich @XmlRootElement vor MyRouteCollection gesetzt und vor Route entfernt)
Warum kann ich denn die Liste nicht einfach abspeichern?
Bzw was muss ich tun, um die Liste als solche direkt in XML speichern zu können?
(Grundlage: JAXB: Speichern von Java Objekten als XML, demnach soll Listen abspeichern ja gehen).
Danke
Ich Versuche eine Liste von 'Route'-Objekten als XML abzuspeichern.
Wenn ich alle Objekte einzeln aus meiner Liste MyRouteCollection auslese und speicher, dann ist alles ok.
Java:
@XmlRootElement
public class Route {
private String start, destination;
public Route() {
}
public Route(String start, String destination) {
this.start = start;
this.destination = destination;
}
//getter + setter...
}
public class MyRouteCollection {
private List<Route> routeList;
public MyRouteCollection() {
}
public List<Route> getRouteList() {
if (routeList == null) {
routeList = new ArrayList<Route>();
}
return routeList;
}
public void setRouteList(ArrayList<Route> routeList) {
this.routeList = routeList;
}
}
public void saveFile(MyRouteCollection routeCollect, File file) throws FileNotFoundException {
JAXBContext context = JAXBContext.newInstance(Route.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
for (Route route : routeCollect.getRouteList()) {
m.marshal(route, System.out);
}
}
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<route>
<destination>far far away</destination>
<start>home</start>
</route>
Wenn ich aber versuche die Liste direkt abzuspeichern, dann bekomme ich eine XML Datei ohne Felder:
(natürlich @XmlRootElement vor MyRouteCollection gesetzt und vor Route entfernt)
Java:
public void saveFile(MyRouteCollection routeCollect, File file) throws FileNotFoundException {
JAXBContext context = JAXBContext.newInstance(MyRouteCollection.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
m.marshal(routeCollect, System.out);
}
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myRouteCollection/>
Warum kann ich denn die Liste nicht einfach abspeichern?
Bzw was muss ich tun, um die Liste als solche direkt in XML speichern zu können?
(Grundlage: JAXB: Speichern von Java Objekten als XML, demnach soll Listen abspeichern ja gehen).
Danke