Note that there are some explanatory texts on larger screens.

plurals
  1. POJAXB returning null for a nested xml containing collections
    primarykey
    data
    text
    <p>I want to unmarshall the following xml into another a parent object as defined below. But it always returns NULL.</p> <p>Incoming XML:</p> <pre><code>&lt;contentFiles&gt; &lt;contentFile&gt; &lt;contentFileName&gt;cwb_reg_content_IB20C0F504A9A11E281E4C8BF76F4977C.pdf&lt;/contentFileName&gt; &lt;title&gt;&lt;![CDATA[SEC No-Action Guidance Expanding the Definition of “Ready Market” for Certain Foreign Equity Securities]]&gt;&lt;/title&gt; &lt;sourcePublicationDate&gt;20121219&lt;/sourcePublicationDate&gt; &lt;alternateDocNumbers&gt; &lt;alternateDocNumber&gt;12345-b&lt;/alternateDocNumber&gt; &lt;/alternateDocNumbers&gt; &lt;citesAffected&gt; &lt;cite&gt;SEA Rule 15c3-1&lt;/cite&gt; &lt;/citesAffected&gt; &lt;/contentFile&gt; &lt;/contentFiles&gt; </code></pre> <p>Parent class corresponding to <code>&lt;contentFiles&gt;</code></p> <pre><code> @XmlRootElement(name = "contentFiles") public class RtSuperQuickMetadata { private List&lt;RtSuperQuickMetadataItem&gt; rtSuperQuickMetadataItems; public RtSuperQuickMetadata() { rtSuperQuickMetadataItems = new ArrayList&lt;RtSuperQuickMetadataItem&gt;(); } public List&lt;RtSuperQuickMetadataItem&gt; getRtSuperQuickMetadataItems() { return rtSuperQuickMetadataItems; } public void setRtSuperQuickMetadataItems( List&lt;RtSuperQuickMetadataItem&gt; rtSuperQuickMetadataItems) { this.rtSuperQuickMetadataItems = rtSuperQuickMetadataItems; } } </code></pre> <p>Parent class corresponding to <code>&lt;contentFile&gt;</code></p> <pre><code>@XmlRootElement(name = "contentFile") public class RtSuperQuickMetadataItem { private String contentFileName; private String title; private String sourcePublicationDate; private List&lt;AlternateDocNumber&gt; alternateDocNumbers; private List&lt;Cite&gt; citesAffected; public RtSuperQuickMetadataItem() { alternateDocNumbers = new ArrayList&lt;AlternateDocNumber&gt;(); citesAffected = new ArrayList&lt;Cite&gt;(); } public List&lt;AlternateDocNumber&gt; getAlternateDocNumbers() { return alternateDocNumbers; } public List&lt;Cite&gt; getCitesAffected() { return citesAffected; } public String getContentFileName() { return contentFileName; } public String getSourcePublicationDate() { return sourcePublicationDate; } public String getTitle() { return title; } public void setAlternateDocNumbers(List&lt;AlternateDocNumber&gt; alternateDocNumbers) { this.alternateDocNumbers = alternateDocNumbers; } public void setCitesAffected(List&lt;Cite&gt; citesAffected) { this.citesAffected = citesAffected; } public void setContentFileName(String contentFileName) { this.contentFileName = contentFileName; } public void setSourcePublicationDate(String sourcePublicationDate) { this.sourcePublicationDate = sourcePublicationDate; } public void setTitle(String title) { this.title = title; } } @XmlRootElement(name = "alternateDocNumber") class AlternateDocNumber { private String alternateDocNumber; public String getAlternateDocNumber() { return alternateDocNumber; } public void setAlternateDocNumber(String alternateDocNumber) { this.alternateDocNumber = alternateDocNumber; } @Override public String toString() { return "AlternateDocNumber [alternateDocNumber=" + alternateDocNumber + "]"; } } @XmlRootElement(name = "cite") class Cite { private String cite; public String getCite() { return cite; } public void setCite(String cite) { this.cite = cite; } @Override public String toString() { return "Cite [cite=" + cite + "]"; } } </code></pre> <p>Unmarshaller code using JAXB:</p> <pre><code>public RtSuperQuickMetadata unmarshallXml(final File metadataFile) throws JAXBException, FileNotFoundException { RtSuperQuickMetadata rtSuperQuickMetadata = null; try { JAXBContext jc = JAXBContext.newInstance(RtSuperQuickMetadata.class); Unmarshaller um = jc.createUnmarshaller(); rtSuperQuickMetadata = (RtSuperQuickMetadata) um.unmarshal(metadataFile); } catch (JAXBException e) { String msg = "Malformed XML supplied as Metadata" + " Msg " + e.getMessage(); LOG.error(msg, e); throw new RuntimeException(msg, e); } return rtSuperQuickMetadata; } </code></pre>
    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