NOT
Jackson JAXB (JSR-222) uyumlu bir uygulama değildir. Bu standart JAXB yorumladığı konusunda garanti yoktur
Varsayılan olarak bir JAXB (JSR-222) uyumlu uygulama toplama özelliklerine bir sarıcı eleman geçerli değildir Ek açıklamalar anlamına gelir.
Varsayılan olarak JAXB (JSR-222) uygulaması özelliklerine göre eşleştirmeleri varsayılan olarak
A. Alandan tasarruf etmek için bu yöntemleri ihmal ettim ve @XmlAccessorType(XmlAccessType.FIELD)
belirtildi, böylece meta veriler örnek değişkenlerinden (alanlardan) türetilecek.
package forum13097559;
import java.util.List;
import javax.xml.bind.annotation.*;
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class A {
private String b1;
private String b2;
private List<B3> b3;
}
B3
package forum13097559;
import javax.xml.bind.annotation.*;
@XmlAccessorType(XmlAccessType.FIELD)
public class B3 {
private String c1;
private String c2;
}
Deneme
package forum13097559;
import java.io.File;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(A.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
File xml = new File("src/forum13097559/input.xml");
A a = (A) unmarshaller.unmarshal(xml);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(a, System.out);
}
}
girişi.Daha Fazla Bilgi xml/Çıktı
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a>
<b1>b1</b1>
<b2>b2</b2>
<b3>
<c1></c1>
<c2></c2>
</b3>
<b3>
<c1></c1>
<c2></c2>
</b3>
<b3>
<c1></c1>
<c2></c2>
</b3>
</a>