List Info

Thread: - Re: Marshall Object List




- Re: Marshall Object List
country flaguser name
United States
2008-05-21 14:20:28
I was able to figure out and here is sample code that
produces a marshalled XML output string from objects and
object lists.

Here is the testing Class (Used to create the object
instances and then marshall them):

package org.xmlmarshalling2.com;

import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;

public class RunItemTest
{
    public static void main(String[] args)
    {
        System.out.println("test");

        Items todo = new Items();
        
        todo.setTitle("Beginning!!!");
        
        List items = todo.getItem();

        Item i1 = new Item();
        i1.setId("001");
        i1.setName("Dog");
        i1.setPrice("$3.99");

        items.add(i1);

        Item i2 = new Item();
        i2.setId("002");
        i2.setName("Cat");
        i2.setPrice("$2.99");

        items.add(i2);

        Item i3 = new Item();
        i3.setId("003");
        i3.setName("Fish");
        i3.setPrice("$1.99");

        items.add(i3);

        try
        {
            JAXBContext context =
JAXBContext.newInstance(Items.class);    
            Marshaller marshaller =
context.createMarshaller();    
           
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
true);
            marshaller.marshal(todo, System.out);
        }
        catch (Exception e)
        {
            System.out.println("Error:  " +
e.getMessage());

        }

    }

}

Here is a base class (this class contains a reference to the
object list):

package org.xmlmarshalling2.com;

import java.util.*;
import javax.xml.bind.annotation.*;

XmlAccessorType(XmlAccessType.FIELD)
XmlType(name = "", propOrder = {
    "title", "item"
})
XmlRootElement(name = "Items")
public class Items {
    
    protected String title;

    XmlElement(name = "Item")
    protected List item;

    public List getItem() 
    {
        if (item == null) {
            item = new ArrayList();
        }
        return this.item;
    }

    public String getTitle()
    {
        return title;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }


}


Here is the class that the object list is created from:

package org.xmlmarshalling2.com;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.*;

XmlAccessorType(XmlAccessType.FIELD)
XmlType(name = "", propOrder = {
    "name",
    "price"
})
XmlRootElement(name = "Item")
public class Item {

    XmlElement(name = "Name")
    protected String name;
    XmlElement(name = "Price")
    protected String price;
    XmlAttribute(required = true)
    XmlJavaTypeAdapter(CollapsedStringAdapter.class)
    protected String id;

    public String getName() {
        return name;
    }

    public void setName(String value) {
        this.name = value;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String value) {
        this.price = value;
    }

    public String getId() {
        return id;
    }

    public void setId(String value) {
        this.id = value;
    }
}




View the original post : http://www.jboss.com/index.html?
module=bb&op=viewtopic&p=4152467#4152467

Reply to the post : http://www.jboss.com/index.
html?module=bb&op=posting&mode=reply&p=4152467
_______________________________________________
jbossws-users mailing list
jbossws-userslists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbossws-users


[1]

about | contact  Other archives ( Real Estate discussion Medical topics )