Code: Select all
123
ABC123
456
< /code>
Das Hauptobjekt hat eine variable ID_CAR_PT und zwei verschachtelte Objekte: OBJ1 und OBJ2. Beide verschachtelten Objekte haben Variablen mit den gleichen Namen wie im XML. Die variable reg_car wird jedoch korrekt aus OBJ1 geladen. < /P>
Warum geschieht dies?public class ERT {
private String id_car_PT;
private Obj1 obj1;
private Obj2 obj2;
public String getId_car_PT() {
return id_car_PT;
}
public void setId_car_PT(String id_car_PT) {
this.id_car_PT = id_car_PT;
}
public Obj1 getObj1() {
return obj1;
}
public void setObj1(Obj1 obj1) {
this.obj1 = obj1;
}
public Obj2 getObj2() {
return obj2;
}
public void setObj2(Obj2 obj2) {
this.obj2 = obj2;
}
}
< /code>
public class Obj1 {
private String reg_car;
public String getReg_car() {
return reg_car;
}
public void setReg_car(String reg_car) {
this.reg_car = reg_car;
}
}
< /code>
public class Obj2 {
private String id_car_PT;
public String getId_car_PT() {
return id_car_PT;
}
public void setId_car_PT(String id_car_PT) {
this.id_car_PT = id_car_PT;
}
}
< /code>
import org.exolab.castor.xml.Unmarshaller;
import java.io.StringReader;
public class Main {
public static void main(String[] args) {
try {
String xml = "123ABC123456";
StringReader reader = new StringReader(xml);
Unmarshaller unmarshaller = new Unmarshaller(ERT.class);
ERT ert = (ERT) unmarshaller.unmarshal(reader);
System.out.println(ert.getId_car_PT());
System.out.println(ert.getObj1().getReg_car());
System.out.println(ert.getObj2().getId_car_PT());
} catch (Exception e) {
e.printStackTrace();
}
}
}
< /code>
Result:
null
ABC123
null