Hi,
I am trying to use Castor to marshall/unmarshall xml to java objects.
My java class looks like this:

// Person.java
// 
// 


// Imports
// 
import java.math.BigDecimal;
import java.io.IOException;

/**
 * DataView class for Person buffers.
 */
public final class Person
    /**
     * Construct an empty view.
     */
    public      Person()
    {
        m_person = new Person1V();
    }

    
   /**
     * Construct a new (empty) instance of this class.
     */
    public DataView     newInstance()
    {
        return new Person();
    }

    
    
    /**
     * DataView subclass for person Group.
     */
    public final class Person1V extends DataView
    {
        /**
         * Construct an empty view.
         */
        public  Person1V()
        {
            m_personName = "";
            m_personAddress = "";
            m_personSsn = "";
            m_personEmail = "";
            m_personHomePhone = "";
            m_personWorkPhone = "";
        }

       /**
         * Construct a new (empty) instance of this class.
         */
        public DataView newInstance()
        {
            return new Person1V();
        }

        
        // ---------------------------------------------------------------
        // Code for field "person-name"
        // 
        private String  m_personName;

        /**
         * Set the value of the personName field.
         */
        public void     setPersonName(String value)
        {
            m_personName = value;
        }

        /**
         * Get the current value of the personName field.
         */
        public String   getPersonName()
        {
            return m_personName;
        }


        // ---------------------------------------------------------------
        // Code for field "person-address"
        // 
        private String  m_personAddress;

        /**
         * Set the value of the personAddress field.
         */
        public void     setPersonAddress(String value)
        {
            m_personAddress = value;
        }

        /**
         * Get the current value of the personAddress field.
         */
        public String   getPersonAddress()
        {
            return m_personAddress;
        }


        // ---------------------------------------------------------------
        // Code for field "person-ssn"
        // 
        private String  m_personSsn;

        /**
         * Set the value of the personSsn field.
         */
        public void     setPersonSsn(String value)
        {
            m_personSsn = value;
        }

        /**
         * Get the current value of the personSsn field.
         */
        public String   getPersonSsn()
        {
            return m_personSsn;
        }


        // ---------------------------------------------------------------
        // Code for field "person-email"
        // 
        private String  m_personEmail;

        /**
         * Set the value of the personEmail field.
         */
        public void     setPersonEmail(String value)
        {
            m_personEmail = value;
        }

        /**
         * Get the current value of the personEmail field.
         */
        public String   getPersonEmail()
        {
            return m_personEmail;
        }


        // ---------------------------------------------------------------
        // Code for field "person-home-phone"
        // 
        private String  m_personHomePhone;

        /**
         * Set the value of the personHomePhone field.
         */
        public void     setPersonHomePhone(String value)
        {
            m_personHomePhone = value;
        }

        /**
         * Get the current value of the personHomePhone field.
         */
        public String   getPersonHomePhone()
        {
            return m_personHomePhone;
        }


        // ---------------------------------------------------------------
        // Code for field "person-work-phone"
        // 
        private String  m_personWorkPhone;

        /**
         * Set the value of the personWorkPhone field.
         */
        public void     setPersonWorkPhone(String value)
        {
            m_personWorkPhone = value;
        }

        /**
         * Get the current value of the personWorkPhone field.
         */
        public String   getPersonWorkPhone()
        {
            return m_personWorkPhone;
        }
    }

    // ---------------------------------------------------------------
    // Code for field "person"
    // 
    private Person1V    m_person;

    /**
     * Get the current value of the person field.
     */
    public Person1V     getPerson()
    {
        return m_person;
    }
}

// END Person.java

Now my xml (test2.xml) looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<person>
        <personName>Michael Owen</personName>
        <personAddress>222 Bazza Lane, Liverpool, MN</personAddress>
        <personSsn>111-222-3333</personSsn>
        <personEmail>[EMAIL PROTECTED]</personEmail>
        <personHomePhone>720.111.2222</personHomePhone>
        <personWorkPhone>111.222.3333</personWorkPhone>
</person>

Using the following code with Castor does not work:

import org.exolab.castor.xml.*;
import java.io.FileReader;
import org.apache.xml.serialize.XMLSerializer;

try {
     
    Person person = (Person)
             Unmarshaller.unmarshal(Person.class,
               new FileReader("C:/Projects/jam/dat/test2.xml"));
     System.out.println("Test1 Attributes");
     System.out.println("-----------------");
     System.out.println("Name: " + person.getPerson().getPersonName() );
     System.out.println("Address: " + person.getPerson().getPersonAddress()
);
     System.out.println("SSN: " + person.getPerson().getPersonSsn() );
     System.out.println("Email: " + person.getPerson().getPersonEmail() );
     System.out.println("Home Phone: " +
                             person.getPerson().getPersonHomePhone() );
     System.out.println("Work Phone: " +
                             person.getPerson().getPersonWorkPhone() );
    } catch (Exception e) {
      System.out.println( e );
    }

This does not work, would appreciate if some can help. In advance, Thanks
for your help ......


Sudeep



 <<test2.xml>> 



Attachment: test2.xml
Description: Binary data

Reply via email to