[英]Unmarshalling nested or complex data elements in JAVA Web services
我們正在開發JAVA Web服務,並提出了Web服務的輸入。 輸入具有數據元素,最后一個元素是具有四個項目的Arraylist。 我們能夠獲取不在arraylist中的第一組元素的值,然后將它們保存或存儲在數據庫中。 我們面臨的挑戰是獲取arraylist中嵌套元素的值。
我們正在使用以下代碼,但它抱怨或給出錯誤消息,它看不到(DataInfo.xml)XML文件。 我們認為這是由Web服務輸入生成的,但我們看不到它。
JAXBContext jaxbContext = JAXBContext.newInstance(DataInfo.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
DataInfo EXitems = (DataInfo) jaxbUnmarshaller.unmarshal(new File("DataInfo.xml") );
我們如何確保代碼(應用程序)可以看到XML,或者從arraylist或嵌套元素中獲取值的最佳方法是什么?
我們使用的相同代碼
主班
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DataInfo", propOrder = {"firstName","surname", "dateofBirth","studentAddress"})
@XmlRootElement(name = "dataInfo")
public class DataInfo implements Serializable {
}
ArrayList類
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "studentAddress", propOrder = {"address1","address2", "town","country"})
@XmlRootElement(name = "studentAddress")
public class studentAddress implements Serializable {
}
我已刪除獲取器和設置器,以縮短發布時的代碼
請幫忙
這樣的事情對我有用
@XmlElementWrapper(name = "ProfileList")
@XmlElement(name = "Profile")
private List<Profile> listOfProfiles;
對於像這樣的XML結構,
....
<ProfileList>
<Profile>......</Profile>
<Profile>......</Profile>
</ProfileList>
....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.