F
Fawkes
Gast
Hallo,
ich habe gerade ein Problem bei dem ich nicht so richtig weiterkomme. Und zwar habe ich eine ArrayList, die wiederum weitere Arraylists enthält usw. das ganze kann beliebig groß sein. Die Daten hierfür werden aus einer XML-Datei ausgelesen.
Jetzt möchte ich jedes einzelne Element, jeder Arrayliste auslesen, finde aber keinen richtigen Ansatz dafür.
Hier mal etwas Code:
Das Problem ist, dass ich mit der for-schleife nur die Listen der ersten Ebene bekomme und nicht die der weiteren.
Hätte da jemand einen Tipp wie ich hier am besten vorgehen könnte um an alle Elemente zu kommen?
Grüße
ich habe gerade ein Problem bei dem ich nicht so richtig weiterkomme. Und zwar habe ich eine ArrayList, die wiederum weitere Arraylists enthält usw. das ganze kann beliebig groß sein. Die Daten hierfür werden aus einer XML-Datei ausgelesen.
Jetzt möchte ich jedes einzelne Element, jeder Arrayliste auslesen, finde aber keinen richtigen Ansatz dafür.
Hier mal etwas Code:
Java:
JAXBContext jc = JAXBContext.newInstance("network");
SwitchType switchT = new SwitchType();
SwitchType switchT2 = new SwitchType();
switchT2.setName(name);
switchT2.setKabel(kabel);
boolean fileExists = (new File(filename+".xml")).exists();
if (fileExists) {
List<SwitchType> currentSwitch = new ArrayList<SwitchType>();
Unmarshaller um = jc.createUnmarshaller();
JAXBElement<SwitchType> element = um.unmarshal(new StreamSource(filename+".xml"), SwitchType.class);
SwitchType item = (SwitchType) element.getValue();
currentSwitch = item.getSwitch();
for (SwitchType u : currentSwitch) {
//System.out.println(u.getName());
if(u.getName().equals(parentName)){
u.getSwitch().add(switchT2);
}
switchT.getSwitch().add(u);
}
}
JAXBElement<SwitchType> transmissionElement = (new ObjectFactory()).createSwitch(switchT);
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.setProperty(Marshaller.JAXB_ENCODING, "ISO-8859-1");
m.marshal(transmissionElement, new FileOutputStream(filename+".xml"));
Das Problem ist, dass ich mit der for-schleife nur die Listen der ersten Ebene bekomme und nicht die der weiteren.
Hätte da jemand einen Tipp wie ich hier am besten vorgehen könnte um an alle Elemente zu kommen?
Grüße