Hi,

I am using the attached structure of XML to unmarshal to a java object. 

The overall structure is 

 

ReceiptStack Class     -->              Collection of Receipts

                                  Has

 

 

Receipt Class             -->             Collection of ReceiptItems

                                 Has

 

 

The mapping xml for the same is also attached. 

 

When I run my standalone class to unmarshal the ReceiptStack.xml file, I
get the correct values for the receipts . However, when I try to print
ReceiptItems, it gives me null.

So the collection which is inside another collection is coming null. Is
there something wrong with my approach?

 

 

Following is my standalone class:

 

Mapping      mapping = new Mapping();

      

      mapping.loadMapping( "mapping.xml" );

 

      

       Unmarshaller unmar = new Unmarshaller(mapping);

       ReceiptStack stack = (ReceiptStack)unmar.unmarshal(new
InputSource(new FileReader("ReceiptStack.xml")));

     

       ArrayList <Receipt>receipts=(ArrayList)stack.getReceipts();

       

       for(Receipt receipt:receipts)

       {

             System.out.println("custno:"+receipt.getCustomerNumber());

             System.out.println("firstletter
name"+receipt.getFirstLetterName());

             System.out.println(receipt.getItems());

       }

 

Output is:

 

custno:1

firstletter name A

null

 



This message is for the designated recipient only and may contain privileged, 
proprietary, or otherwise private information.  If you have received it in 
error, please notify the sender immediately and delete the original.  Any other 
use of the email by you is prohibited.
<?xml version="1.0" encoding="UTF-8"?>
<ReceiptStack>
	<StackNumber>1</StackNumber>
	<ReceiptType>10</ReceiptType>
	<Receipt>
		<CustomerNumber>1</CustomerNumber>
		<FirstLetterName>A</FirstLetterName>
		<ReceiptItem>
			<ItemNumber>90</ItemNumber>
			<Promotion>A</Promotion>
			<Size>32</Size>
			<Quantity>1</Quantity>
		</ReceiptItem>
		<ReceiptItem>
			<ItemNumber>90</ItemNumber>
			<Promotion>A</Promotion>
			<Size>32</Size>
			<Quantity>1</Quantity>
		</ReceiptItem>
		<Image>1100110</Image>
	</Receipt>
	<Receipt>
		<CustomerNumber>1</CustomerNumber>
		<FirstLetterName>A</FirstLetterName>
		<ReceiptItem>
			<ItemNumber>90</ItemNumber>
			<Promotion>A</Promotion>
			<Size>32</Size>
			<Quantity>1</Quantity>
		</ReceiptItem>
		<Image>1100110</Image>
	</Receipt>
</ReceiptStack>
<?xml version="1.0"?>
<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
                         "http://castor.org/mapping.dtd";>
<mapping>
   <class name="ReceiptStack">
      <map-to xml="ReceiptStack" />
      <field name="StackNumber" type="java.lang.String">
         <bind-xml name="StackNumber"/>
      </field>
      <field name="ReceiptType" type="java.lang.String">
         <bind-xml name="ReceiptType"/>
      </field>
      <field name="Receipts"
	         type="Receipt"
	         collection="arraylist">
         <bind-xml name="Receipt" />
      </field>
   </class>
   <class name="Receipt">
      <field name="CustomerNumber" type="java.lang.String">
         <bind-xml name="CustomerNumber"/>
      </field>
      <field name="FirstLetterName" type="java.lang.String">
         <bind-xml name="FirstLetterName"/>
      </field>
      <field name="Image" type="java.lang.String">
         <bind-xml name="Image"/>
      </field>
      <field name="Items"
	         type="ReceiptItem"
	         collection="arraylist">
         <bind-xml name="ReceiptItem" />
      </field>
   </class>
   <class name="ReceiptItem">
      <field name="ItemNumber" type="java.lang.String">
         <bind-xml name="ItemNumber" />
      </field>
      <field name="Promotion" type="java.lang.String">
         <bind-xml name="Promotion" />
      </field>
      <field name="Size" type="java.lang.String">
         <bind-xml name="Size" />
      </field>
      <field name="Quantity" type="java.lang.String">
         <bind-xml name="Quantity" />
      </field>

   </class>
</mapping>
---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to