jaxb序列化java.util.Listpackage cn.outofmemory.jaxb; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import javax.xml.bind.JAXB; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; public class JAXBDemo { private List names; public List getNames() { return names; } public void setNames(List names) { this.names = names; } public static void main(String[] args) { List list = new ArrayList(); list.add("I'm a string"); list.add("I'm also a string."); JAXBDemo demo = new JAXBDemo(); demo.setNames(list); JAXB.marshal(demo, System.out); } }
上述代码中,我们序列化一个包含List属性的java实例,并将序列化的结果输出到控制台,输出结果如下:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
I'm a string
I'm also a string.
可以看到names属性被序列化为两个names节点,如果java bean中属性较多的话就会产生混乱