{"id":32398,"date":"2016-02-02T11:00:06","date_gmt":"2016-02-02T09:00:06","guid":{"rendered":"http:\/\/examples.javacodegeeks.com\/?p=32398"},"modified":"2016-01-31T20:17:11","modified_gmt":"2016-01-31T18:17:11","slug":"jaxb-binding-example","status":"publish","type":"post","link":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/","title":{"rendered":"JAXB Binding Example"},"content":{"rendered":"<p><i>JAXB<\/i> stands for <i>Java Architecture for XML Binding<\/i>. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for developers to work with XML data and its processing in Java based applications. To help with this, JAXB provides methods for unmarshalling XML instance documents into Java content trees, and then marshalling Java content trees back into XML instance documents. JAXB also provides a way to generate XML schema from Java objects. <\/p>\n<div class=\"toc\">\n<h3>Table Of Contents<\/h3>\n<dl>\n<dt><a href=\"#jaxb\">1. What is JAXB?<\/a><\/dt>\n<dt><a href=\"#marshal\">2. Marshal the document<\/a><\/dt>\n<dt><a href=\"#unmarshal\">3. Unmarshal the document<\/a><\/dt>\n<dt><a href=\"#download\">4. Download the source code<\/a><\/dt>\n<\/dl>\n<\/div>\n<h2><a name=\"jaxb\"><\/a>1. What is JAXB?<\/h2>\n<p>XML and Java are helping developers in exchange of data and programs across the Internet. This is because XML has emerged as the standard for exchanging data across disparate systems, and Java technology provides a platform for building portable applications. This is particularly important for Web services. <\/p>\n<p>One way to achieve this is using the most common XML parsers like <i>DOM<\/i> or <i>SAX<\/i> but that led to somehow clumsy code.<\/p>\n<p>The other way is using JAXB which makes this task very easy.<\/p>\n<h2><a name=\"marshal\"><\/a>2. Marshal the document<\/h2>\n<p>To understand how to marshal the document, let&#8217;s create two POJO classes, <code>Person<\/code> and <code>Address<\/code>. At design level, <code>Person<\/code> has <code>Address<\/code>.<\/p>\n<p><span style=\"text-decoration: underline\"><em>Address.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\r\npackage com.javacodegeeks.examples.entities;\r\n\r\nimport javax.xml.bind.annotation.XmlType;\r\n\r\n@XmlType\r\npublic class Address {\r\n\tprivate String addressLine1;\r\n\tprivate String addressLine2;\r\n\tprivate String state;\r\n\tprivate String country;\r\n\tprivate int zip;\r\n\r\n\tpublic Address(String addressLine1, String addressLine2, String state, String country, int zip) {\r\n\t\tsuper();\r\n\t\tthis.addressLine1 = addressLine1;\r\n\t\tthis.addressLine2 = addressLine2;\r\n\t\tthis.state = state;\r\n\t\tthis.country = country;\r\n\t\tthis.zip = zip;\r\n\t}\r\n\r\n\tpublic Address() {\r\n\t\tsuper();\r\n\t}\r\n\tpublic String getAddressLine1() {\r\n\t\treturn addressLine1;\r\n\t}\r\n\r\n\tpublic void setAddressLine1(String addressLine1) {\r\n\t\tthis.addressLine1 = addressLine1;\r\n\t}\r\n\r\n\tpublic String getAddressLine2() {\r\n\t\treturn addressLine2;\r\n\t}\r\n\r\n\tpublic void setAddressLine2(String addressLine2) {\r\n\t\tthis.addressLine2 = addressLine2;\r\n\t}\r\n\r\n\tpublic String getState() {\r\n\t\treturn state;\r\n\t}\r\n\r\n\tpublic void setState(String state) {\r\n\t\tthis.state = state;\r\n\t}\r\n\r\n\tpublic String getCountry() {\r\n\t\treturn country;\r\n\t}\r\n\r\n\tpublic void setCountry(String country) {\r\n\t\tthis.country = country;\r\n\t}\r\n\r\n\tpublic int getZip() {\r\n\t\treturn zip;\r\n\t}\r\n\r\n\tpublic void setZip(int zip) {\r\n\t\tthis.zip = zip;\r\n\t}\r\n\t\r\n\t@Override\r\n\tpublic String toString() {\r\n\t\treturn \"addressLine1: \" + addressLine1 + \", addressLine2: \" + addressLine2 + \r\n\t\t\t\t\", state: \" + state + \", country: \" + country + \r\n\t\t\t\t\", zip: \" + zip;\r\n\t}\r\n}\r\n<\/pre>\n<p><span style=\"text-decoration: underline\"><em>Person.java<\/em><\/span><div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<pre class=\"brush:java\">\r\npackage com.javacodegeeks.examples.entities;\r\n\r\nimport javax.xml.bind.annotation.XmlRootElement;\r\n\r\n@XmlRootElement\r\npublic class Person {\r\n\tprivate int id;\r\n\tprivate String name;\r\n\tprivate Address address;\r\n\r\n\tpublic int getId() {\r\n\t\treturn id;\r\n\t}\r\n\r\n\tpublic void setId(int id) {\r\n\t\tthis.id = id;\r\n\t}\r\n\r\n\tpublic String getName() {\r\n\t\treturn name;\r\n\t}\r\n\r\n\tpublic void setName(String name) {\r\n\t\tthis.name = name;\r\n\t}\r\n\r\n\tpublic Address getAddress() {\r\n\t\treturn address;\r\n\t}\r\n\r\n\tpublic void setAddress(Address address) {\r\n\t\tthis.address = address;\r\n\t}\r\n\r\n\tpublic Person(int id, String name, Address address) {\r\n\t\tsuper();\r\n\t\tthis.id = id;\r\n\t\tthis.name = name;\r\n\t\tthis.address = address;\r\n\t}\r\n\r\n\tpublic Person() {\r\n\t\tsuper();\r\n\t}\r\n\r\n\t@Override\r\n\tpublic String toString() {\r\n\t\treturn \"id: \" + id + \", name: \" + name + \", address: \" + address;\r\n\t}\r\n}\r\n<\/pre>\n<p>Notice that <code>Address<\/code> class has been annotated with <code>@XmlType<\/code> and <code>Person<\/code> class has been annotated with <code>@XmlRootElement<\/code>. These annotations direct the marshaling of <code>Person<\/code> object, where marshaling is the process of encoding an in-memory object to an XML document. This XML document can be sent across network to be unmarshaled and decoded at other end.<br \/>\nAnnotation <code>@XmlType<\/code> implies that JAX-B should generate XML schema type from the corresponding Java type. <code>@XmlRootElement<\/code> implies that JAX-B should generate outermost or root element XML schema from the corresponding Java class.<\/p>\n<p>Now let&#8217;s look at a program to marshal <code>Person<\/code> class.<\/p>\n<p><span style=\"text-decoration: underline\"><em>MarshalPerson.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\r\npackage com.javacodegeeks.examples.jaxb;\r\n\r\nimport java.io.File;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.FileOutputStream;\r\n\r\nimport javax.xml.bind.JAXBContext;\r\nimport javax.xml.bind.JAXBException;\r\nimport javax.xml.bind.Marshaller;\r\n\r\nimport com.javacodegeeks.examples.entities.Address;\r\nimport com.javacodegeeks.examples.entities.Person;\r\n\r\npublic class MarshalPerson {\r\n\tpublic static void main(String[] args) throws JAXBException, FileNotFoundException {\r\n\t\tnew MarshalPerson().runMarshalExample();\r\n\t}\r\n\t\r\n\tprivate Person createPerson() {\r\n\t\tAddress address = new Address(\"addressLine1\", \"addressLine2\", \"state\", \"country\", 11582);\r\n\t\tPerson person = new Person(1, \"name\", address);\r\n\t\treturn person;\r\n\t}\r\n\t\r\n\tprivate void runMarshalExample() throws JAXBException, FileNotFoundException {\r\n\t\tPerson person = createPerson();\r\n\t\t\r\n\t\tJAXBContext context = JAXBContext.newInstance(Person.class);\r\n\t\tMarshaller marshaller = context.createMarshaller();\r\n\t\tmarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);\r\n\t\t\r\n\t\tFileOutputStream fileOutputStream = new FileOutputStream(new File(\"person.xml\"));\r\n\t\t\r\n\t\tmarshaller.marshal(person, fileOutputStream);\r\n\t}\r\n}\r\n<\/pre>\n<p>On executing the above program, <i>person.xml<\/i> file shall get generated in project&#8217;s root directory. This content of this file can be wired over network in byte stream.<\/p>\n<p><span style=\"text-decoration: underline\"><em>person.xml<\/em><\/span><\/p>\n<pre class=\"brush:xml\">\r\n&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;\r\n&lt;person&gt;\r\n    &lt;address&gt;\r\n        &lt;addressLine1&gt;addressLine1&lt;\/addressLine1&gt;\r\n        &lt;addressLine2&gt;addressLine2&lt;\/addressLine2&gt;\r\n        &lt;country&gt;country&lt;\/country&gt;\r\n        &lt;state&gt;state&lt;\/state&gt;\r\n        &lt;zip&gt;11582&lt;\/zip&gt;\r\n    &lt;\/address&gt;\r\n    &lt;id&gt;1&lt;\/id&gt;\r\n    &lt;name&gt;name&lt;\/name&gt;\r\n&lt;\/person&gt;\r\n<\/pre>\n<p>By default, JAX-B marshaling follows standard Java and JavaBean naming conventions, however, with bunch of JAX-B annotations, it can be overridden if required.<\/p>\n<h2><a name=\"unmarshal\"><\/a>3. Unmarshal the document<\/h2>\n<p>In this section we shall see the reverse of marshaling process. We shall be unmarshaling <i>person.xml<\/i> generated in previous section in order to generate <code>Person<\/code> object.<\/p>\n<p><span style=\"text-decoration: underline\"><em>UnmarshalPerson.java<\/em><\/span><\/p>\n<pre class=\"brush:java\">\r\npackage com.javacodegeeks.examples.jaxb;\r\n\r\nimport java.io.File;\r\n\r\nimport javax.xml.bind.JAXBContext;\r\nimport javax.xml.bind.JAXBException;\r\nimport javax.xml.bind.Unmarshaller;\r\n\r\nimport com.javacodegeeks.examples.entities.Person;\r\n\r\npublic class UnmarshalPerson {\r\n\tpublic static void main(String[] args) throws JAXBException {\r\n\t\tnew UnmarshalPerson().runExample();\r\n\t}\r\n\r\n\tprivate void runExample() throws JAXBException {\r\n\t\tJAXBContext context = JAXBContext.newInstance(Person.class);\r\n\t\tUnmarshaller unmarshaller = context.createUnmarshaller();\r\n\t\t\r\n\t\tPerson person = (Person) unmarshaller.unmarshal(new File(\"person.xml\"));\r\n\t\t\r\n\t\tSystem.out.println(person);\r\n\t\t\r\n\t}\r\n}\r\n<\/pre>\n<p>The output of this program shall be: <\/p>\n<pre class=\"brush:bash\">\r\nid: 1, name: name, address: addressLine1: addressLine1, addressLine2: addressLine2, state: state, country: country, zip: 11582\r\n<\/pre>\n<p>Here we can see that the xml has now been decoded back into <code>Person<\/code> object.<\/p>\n<h2><a name=\"download\"><\/a>4. Download the source code<\/h2>\n<p>This was an example of JAXB Binding.<\/p>\n<div class=\"download\"><strong>Download<\/strong><br \/>You can download the full source code of this example here: <strong><a href=\"http:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2016\/01\/JAXBBindingExample.zip\" rel=\"\">JAXBBindingExample<\/a><\/strong><\/div>\n","protected":false},"excerpt":{"rendered":"<p>JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for developers to work with XML data and its processing in Java based applications. To help with this, JAXB provides methods for unmarshalling XML instance documents into Java content trees, and then marshalling &hellip;<\/p>\n","protected":false},"author":75,"featured_media":1204,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[391],"tags":[1347,1349,393,1348,1350,394,1351,395,1066],"class_list":["post-32398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bind","tag-jax-b","tag-jax-b-binding","tag-jaxb","tag-jaxb-binding","tag-marshal","tag-marshaller","tag-unmarshal","tag-unmarshaller","tag-xml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>JAXB Binding Example - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JAXB Binding Example - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for\" \/>\n<meta property=\"og:url\" content=\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\" \/>\n<meta property=\"og:site_name\" content=\"Examples Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-02T09:00:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Saurabh Arora\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Saurabh Arora\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\"},\"author\":{\"name\":\"Saurabh Arora\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/5bf4e0274824642c44536b83ddbfaf6c\"},\"headline\":\"JAXB Binding Example\",\"datePublished\":\"2016-02-02T09:00:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\"},\"wordCount\":426,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"keywords\":[\"jax-b\",\"jax-b binding\",\"JAXB\",\"jaxb binding\",\"marshal\",\"Marshaller\",\"unmarshal\",\"Unmarshaller\",\"xml\"],\"articleSection\":[\"bind\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\",\"name\":\"JAXB Binding Example - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"datePublished\":\"2016-02-02T09:00:06+00:00\",\"description\":\"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for\",\"breadcrumb\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"Bipartite Graph\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/examples.javacodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java Development\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Core Java\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"xml\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"bind\",\"item\":\"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/bind\/\"},{\"@type\":\"ListItem\",\"position\":6,\"name\":\"JAXB Binding Example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#website\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Examples and Code Snippets\",\"publisher\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/examples.javacodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/javacodegeeks\",\"https:\/\/x.com\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/5bf4e0274824642c44536b83ddbfaf6c\",\"name\":\"Saurabh Arora\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/11\/Saurabh-Arora-96x96.jpg\",\"contentUrl\":\"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/11\/Saurabh-Arora-96x96.jpg\",\"caption\":\"Saurabh Arora\"},\"description\":\"Saurabh graduated with an engineering degree in Information Technology from YMCA Institute of Engineering, India. He is SCJP, OCWCD certified and currently working as Technical Lead with one of the biggest service based firms and is involved in projects extensively using Java and JEE technologies. He has worked in E-Commerce, Banking and Telecom domain.\",\"sameAs\":[\"http:\/\/www.javacodegeeks.com\/\",\"https:\/\/in.linkedin.com\/in\/saurabh-arora-78674b18\"],\"url\":\"https:\/\/examples.javacodegeeks.com\/author\/saurabh-arora\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"JAXB Binding Example - Java Code Geeks","description":"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/","og_locale":"en_US","og_type":"article","og_title":"JAXB Binding Example - Java Code Geeks","og_description":"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for","og_url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/","og_site_name":"Examples Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2016-02-02T09:00:06+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","type":"image\/jpeg"}],"author":"Saurabh Arora","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Saurabh Arora","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#article","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/"},"author":{"name":"Saurabh Arora","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/5bf4e0274824642c44536b83ddbfaf6c"},"headline":"JAXB Binding Example","datePublished":"2016-02-02T09:00:06+00:00","mainEntityOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/"},"wordCount":426,"commentCount":0,"publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","keywords":["jax-b","jax-b binding","JAXB","jaxb binding","marshal","Marshaller","unmarshal","Unmarshaller","xml"],"articleSection":["bind"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/","url":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/","name":"JAXB Binding Example - Java Code Geeks","isPartOf":{"@id":"https:\/\/examples.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage"},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage"},"thumbnailUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","datePublished":"2016-02-02T09:00:06+00:00","description":"JAXB stands for Java Architecture for XML Binding. JAXB provides convenient way to bind XML schemas and Java representations, making it easy for","breadcrumb":{"@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#primaryimage","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2012\/12\/java-logo.jpg","width":150,"height":150,"caption":"Bipartite Graph"},{"@type":"BreadcrumbList","@id":"https:\/\/examples.javacodegeeks.com\/java-development\/core-java\/xml\/bind\/jaxb-binding-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/examples.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java Development","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/"},{"@type":"ListItem","position":3,"name":"Core Java","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/"},{"@type":"ListItem","position":4,"name":"xml","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/"},{"@type":"ListItem","position":5,"name":"bind","item":"https:\/\/examples.javacodegeeks.com\/category\/java-development\/core-java\/xml\/bind\/"},{"@type":"ListItem","position":6,"name":"JAXB Binding Example"}]},{"@type":"WebSite","@id":"https:\/\/examples.javacodegeeks.com\/#website","url":"https:\/\/examples.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Examples and Code Snippets","publisher":{"@id":"https:\/\/examples.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/examples.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/examples.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/examples.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/5bf4e0274824642c44536b83ddbfaf6c","name":"Saurabh Arora","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/examples.javacodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/11\/Saurabh-Arora-96x96.jpg","contentUrl":"https:\/\/examples.javacodegeeks.com\/wp-content\/uploads\/2015\/11\/Saurabh-Arora-96x96.jpg","caption":"Saurabh Arora"},"description":"Saurabh graduated with an engineering degree in Information Technology from YMCA Institute of Engineering, India. He is SCJP, OCWCD certified and currently working as Technical Lead with one of the biggest service based firms and is involved in projects extensively using Java and JEE technologies. He has worked in E-Commerce, Banking and Telecom domain.","sameAs":["http:\/\/www.javacodegeeks.com\/","https:\/\/in.linkedin.com\/in\/saurabh-arora-78674b18"],"url":"https:\/\/examples.javacodegeeks.com\/author\/saurabh-arora\/"}]}},"_links":{"self":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/32398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=32398"}],"version-history":[{"count":0,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/32398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media\/1204"}],"wp:attachment":[{"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=32398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=32398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/examples.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=32398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}