使用JAXB解组/编组List<String>时,需要遵循以下步骤:
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class MyList {
private List<String> items;
@XmlElement
public List<String> getItems() {
return items;
}
public void setItems(List<String> items) {
this.items = items;
}
}
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class JAXBExample {
public static void main(String[] args) {
MyList myList = new MyList();
myList.setItems(Arrays.asList("item1", "item2", "item3"));
try {
StringWriter sw = new StringWriter();
JAXBContext jaxbContext = JAXBContext.newInstance(MyList.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(myList, sw);
System.out.println(sw.toString());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
import java.io.StringReader;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class JAXBExample {
public static void main(String[] args) {
String xml = "<myList<items>item1</items<items>item2</items<items>item3</items></myList>";
try {
JAXBContext jaxbContext = JAXBContext.newInstance(MyList.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
MyList myList = (MyList) unmarshaller.unmarshal(new StringReader(xml));
System.out.println(myList.getItems());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
通过以上步骤,可以实现对List<String>类型的解组/编组操作。
领取专属 10元无门槛券
手把手带您无忧上云