簡體   English   中英

在JAVA Web服務中解組嵌套或復雜的數據元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM