How To Converts Coffee Object To Xml - Jaxb Example

JAXB, stands for Java API for XML Binding or sometimes Java Architecture for XML Binding is a decade onetime technology to straight convert a Java object into XML document (marshaling) too dorsum to XML file into Java object(unmarshalling). It uses combination of annotations too getters too setters to marshal Java object into XML. JAXB truly defines the behaviour of a measure ready of tools too interfaces that automatically generate Java flat files from XML schema, recollect JAXB is truly a framework too architecture, non an implementation. The packet java.xml.bind provides a runtime binding framework for clients to marshal, unmarshal too validate XML file inwards Java. BTW, JAXB is non the solely pick to parse XML inwards Java, you lot tin move ever role SAX or DOM parser or JAXP API to convert XML to Java object too vice-versa. If you lot desire to acquire to a greater extent than nearly XML processing inwards Java, I propose to expect at chapter ii of Core Java Volume 2 By Cay S. Horstmann. This mass covers non solely DOM too SAX simply also StAX parser too locating information amongst XPath.



How to role JAXB inwards Java - An Example

Let's encounter how you lot tin move role JAXB to do XML document from Java classes This is how JAXB works, let's say you lot bring a Item object that needs to live converted to XML document, all you lot require to do is do a flat Item amongst getters too annotate them appropriately equally shown below :


@XmlRootElement public class Item{     private int id;     private String name;     private long price;          public Item(){         // no declaration constructor required past times JAXB     }     public Item(int id, String name, long price) {         super();         this.id = id;         this.name = name;         this.price = price;     }      @XmlElement     public int getId() {         return id;     }      @XmlElement     public String getName() {         return name;     }      @XmlElement     public long getPrice() {         return price;     }         }

Then you lot do a marshaller from JAXBContext flat too inquire it to convert an event of flat Item into XML, equally shown below :

Item dvd = new Item(101, "Lord of the Rings", 10); JAXBContext context = JAXBContext.newInstance(Item.class); Marshaller marshaller = context.createMarshaller(); marshaller.marshal(dvd, System.out);    

This volition impress next XML String into your console :

 stands for Java API for XML Binding or sometimes Java Architecture for XML Binding is a d How to converts Java Object to XML - JAXB Example

 
You tin move encounter how tardily it is to convert a Java object to XML using JAXB. You don't require to worry nearly mapping types, opening tag, closing tag or doing anything related to XML past times hand.

 stands for Java API for XML Binding or sometimes Java Architecture for XML Binding is a d How to converts Java Object to XML - JAXB Example


Here is the consummate Java plan to convert a Java object to XML file using JAXB API :

import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement;  /** * Java plan to convert Java object to XML Document using * JAXB API. Converting a Java object to XML is also knonwn * equally marshalling too contrary procedure is called unmarshalling. * * @author Javin Paul */ public class JAXBDemo{      public static void main(String args[]) throws JAXBException {          lastly Item dvd = new Item(101, "Lord of the Rings", 10);         lastly JAXBContext context = JAXBContext.newInstance(Item.class);         lastly Marshaller marshaller = context.createMarshaller();         marshaller.marshal(dvd, System.out);            }      }  @XmlRootElement class Item{     private int id;     private String name;     private long price;          public Item(){         // no declaration constructor required past times JAXB     }     public Item(int id, String name, long price) {         super();         this.id = id;         this.name = name;         this.price = price;     }      @XmlElement     public int getId() {         return id;     }      @XmlElement     public String getName() {         return name;     }      @XmlElement     public long getPrice() {         return price;     }           }



Things to cash inwards one's chips along inwards heed :

1) Your Java flat must bring a no-argument constructor, otherwise JAXB volition non able to marshal it. You volition acquire next Exception :
Exception in thread "main" com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions Item does not bring a no-arg default constructor.     at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(Unknown Source)     at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source)     at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)     at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)     at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source)     at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)     at java.lang.reflect.Method.invoke(Unknown Source)     at javax.xml.bind.ContextFinder.newInstance(Unknown Source)     at javax.xml.bind.ContextFinder.newInstance(Unknown Source)     at javax.xml.bind.ContextFinder.find(Unknown Source)     at javax.xml.bind.JAXBContext.newInstance(Unknown Source)     at javax.xml.bind.JAXBContext.newInstance(Unknown Source)


2) Always recollect to annotate your Java flat amongst @XmlRootElement annotation, this would live your primary tag inwards XML too each holding using @XmlElement, they volition appear equally tyke chemical factor of the primary tag.



That's all nearly how to convert Java Object to XML. In side past times side tutorial you lot volition acquire how to do unmarshalling i.e. converting an XML dorsum to Java object. Even though you lot powerfulness know nearly diverse XML parsers e.g. DOM, SAX too StAX, its practiced to know JAXP too JAXB equally well. As Java too XML goes manus too hand, they add together about other tool into Java developer's arsenal. If you lot are looking for about books to acquire XML processing inwards Java, you lot tin move ever refer heart Java mass ii for basic knowledge. It volition give you lot overnice overview of unlike parser, XML binding too XPath, simply if you lot desire to acquire inwards to a greater extent than inwards depth hence you lot tin move refer Java too XML past times Brett McLaughlin. Its about other practiced mass to acquire nearly XML processing inwards Java.

Further Learning
Java In-Depth: Become a Complete Java Engineer!
Master Java Web Services too REST API amongst Spring Boot
Java Web Fundamentals


Sumber https://javarevisited.blogspot.com/

0 Response to "How To Converts Coffee Object To Xml - Jaxb Example"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel