Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Bir sınıf ile şöyle yaparız.
Marshaller nesnesi döner. Şöyle yaparız.
Şöyle yaparız.
Unmarshaller nesnesi döner. Şöyle yaparız.
Şu satırı dahil ederiz.
import javax.xml.bind.JAXBContext;
Bir sınıfın JAXB ile kullanılabilmesi için anatosyonlara sahip olması gerekir. Şu satırları dahil ederiz.import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
KullanımŞöyle yaparız.
File xmlFile = new File("employee.xml");
JAXBContext jaxbContext;
try
{
jaxbContext = JAXBContext.newInstance(Employee.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Employee employee = (Employee) jaxbUnmarshaller.unmarshal(xmlFile);
System.out.println(employee);
}
catch (JAXBException e)
{
e.printStackTrace();
}
constructorBir sınıf ile şöyle yaparız.
JAXBContext jaxbContext = JAXBContext.newInstance(Foo.class);
createMarshaller metoduMarshaller nesnesi döner. Şöyle yaparız.
Marshaller marshaller = jaxbContext.createMarshaller();
createJAXBIntrospector metoduŞöyle yaparız.
JAXBIntrospector jaxbIntrospector = jc.createJAXBIntrospector();
createUnmarshaller metoduUnmarshaller nesnesi döner. Şöyle yaparız.
Unmarshaller unmarshaller =
jaxbContext.createUnmarshaller();
newInstance metodu - StringEğer String alan halini kullanacaksak ObjectFactory nesnesine ihtiyacımız var. Açıklaması şöyle
Q : Do you always need an ObjectFactory class when using JAXB?Without it I get this exception:javax.xml.bind.JAXBException: "com.a.b.c" doesnt contain ObjectFactory.class or jaxb.indexA : You get that exception when you use the JAXBContext.newInstance(String) factory method, where you pass in the package name as the argument. This does require the ObjectFactory to be there, otherwise, JAXB doesn't know which classes to process.If you don't have an ObjectFactory, you need to JAXBContext.newInstance(Class...) instead, passing in the explicit list of annotated classes to add to the context.
Hiç yorum yok:
Yorum Gönder