Note that there are some explanatory texts on larger screens.

plurals
  1. POJAXB Complex sub XmlRootElement
    primarykey
    data
    text
    <p>i need the below format output using JAXB</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;tata-sky&gt; &lt;change-package-request&gt; &lt;sub-no&gt;1064781105&lt;/sub-no&gt; &lt;ivr-id&gt;ubona_7301341344310891411101430133&lt;/ivr-id&gt; &lt;date-time&gt;05/29/2013 00:16:13&lt;/date-time&gt; &lt;package-list&gt; &lt;package-ref&gt;Punjabi Regional Free Pack&lt;/package-ref&gt; &lt;action-code&gt;Delete&lt;/action-code&gt; &lt;/package-list&gt; &lt;/change-package-request&gt; &lt;/tata-sky&gt; </code></pre> <p>The output Iam getting </p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt; &lt;tata-sky&gt; &lt;change-package-request&gt; &lt;sub-no&gt;1064781105&lt;/sub-no&gt; &lt;ivr-id&gt;ubona_7301341344310891411101430133&lt;/ivr-id&gt; &lt;date-time&gt;05/29/2013 00:16:13&lt;/date-time&gt; &lt;/change-package-request&gt; &lt;package-ref&gt; &lt;package-ref&gt;Punjabi Regional Free Pack&lt;/package-ref&gt; &lt;action-code&gt;Delete&lt;/action-code&gt; &lt;/package-ref&gt; &lt;/tata-sky&gt; </code></pre> <hr> <p>('package-ref' should be child of 'change-package-request'.Below is my Code)</p> <p><strong>ChangePackage .java</strong></p> <pre><code>package com.tsg.flow; /** * * @author Shafiq */ import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "tata-sky") public class ChangePackage { //@XmlElement(name = "change-package-request", required = true) private ChangepackageRequest changePReq; public void setChangePReq(ChangepackageRequest changePReq) { this.changePReq = changePReq; } @XmlElement(name = "change-package-request") public ChangepackageRequest getChangePReq() { return changePReq; } private PackageRef packageList; public void setPackageList(PackageRef packageList) { this.packageList = packageList; } @XmlElement(name = "package-ref") public PackageRef getPackageList() { return packageList; } public ChangePackage() { } } </code></pre> <hr> <p><strong>ChangepackageRequest.java</strong></p> <pre><code>package com.tsg.flow; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; /** * * @author Shafiq */ @XmlRootElement(name = "change-package-request") @XmlType(propOrder = {"sub_no", "ivr_id", "date_time"}) public class ChangepackageRequest { private String sub_no; private String ivr_id; private String date_time; /* private PackageList packageList; public void setPackageList(PackageList packageList) { this.packageList = packageList; } @XmlElement(name = "package-ref") public PackageList getPackageList() { return packageList; }*/ //@XmlElementWrapper(name = "change-package-request") @XmlElement(name = "sub-no") public String getSub_no() { return sub_no; } public void setSub_no(String sub_no) { this.sub_no = sub_no; } @XmlElement(name = "ivr-id") public String getIvr_id() { return ivr_id; } public void setIvr_id(String ivr_id) { this.ivr_id = ivr_id; } @XmlElement(name = "date-time") public String getDate_time() { return date_time; } public void setDate_time(String date_time) { this.date_time = date_time; } } </code></pre> <hr> <p><strong>PackageRef.java</strong></p> <pre><code>package com.tsg.flow; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; /** * * @author Shafiq */ @XmlRootElement(name = "package-list") @XmlType(propOrder = {"package_ref", "action_code"}) public class PackageRef { private String package_ref; private String action_code; // @XmlElementWrapper(name = "package-list") @XmlElement(name = "package-ref") public String getPackage_ref() { return package_ref; } public void setPackage_ref(String package_ref) { this.package_ref = package_ref; } //@XmlElementWrapper(name = "package-list") @XmlElement(name = "action-code") public String getAction_code() { return action_code; } public void setAction_code(String action_code) { this.action_code = action_code; } } </code></pre> <hr> <p>Main Method: <strong>ChangePackageService.java</strong> </p> <pre><code>package com.tsg.flow; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; /** * * @author Shafiq */ public class ChangePackageService { public static void main(String... args) { // public String createXMLString() { ChangePackage objCP = new ChangePackage(); ChangepackageRequest cr = new ChangepackageRequest(); cr.setSub_no("1064781105"); cr.setIvr_id("ubona_7301341344310891411101430133"); cr.setDate_time("05/29/2013 00:16:13"); PackageRef pl = new PackageRef(); pl.setPackage_ref("Punjabi Regional Free Pack"); pl.setAction_code("Delete"); objCP.setPackageList(pl); objCP.setChangePReq(cr); // create JAXB context and instantiate marshaller JAXBContext context = null; Marshaller m = null; try { context = JAXBContext.newInstance(ChangePackage.class); m = context.createMarshaller(); m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); // Write to System.out //m.marshal(cs, System.out); // Write to File m.marshal(objCP, System.out); } catch (JAXBException ex) { System.out.println("Error XML Generation" + ex.getMessage()); // System.out.println("Exception Occured during marshalling: " + ex.getMessage()); } // return ""; // } } } </code></pre> <p>Please All do reply the solution at the earliest.Thanks</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload