我正在尝试解组一个具有多个相同名称元素的XML文档。 我不确定是否需要创建我的bean的ArrayList并将其传递给unmarshaller。 我希望有人能给我一些指针来解决这个问题。 我正在尝试解析的XML作为SOAP响应,但我剥离了信封,所以我只有它的主体部分,看起来像这样:
<return>
<row>
<fkdevice>bddc228e-4774-18b3-9c64-e218cbef7a8x</fkdevice>
</row>
<row>
<fkdevice>74a5a260-bbd9-0491-7c58-0b1983180d2c</fkdevice>
</row>
<row>
<fkdevice>312b5326-d7f1-4fb6-b1d9-dd96bb016152</fkdevice>
</row>
<row>
<fkdevice>ed110481-e1e1-4659-ae09-1d23d888292b</fkdevice>
</row>
</return>
这是从一个包含50个以上字段的表返回的数据,但是我创建了一个testBean,并且仅定义了fkdevice字段,以使它变得简单。我的bean如下:
package beans;
//imports
@XmlRootElement(name="return")
public class testBean {
//I think I need an arraylist here because I have multiple elements with teh same name.
public ArrayList<string> fkdevice;
public ArrayList<String> getFkdevice(){
return fkdevice;
}
public void setFkdevice(ArrayList<String> fkdevice){
this.fkdevice = fkdevice;
}
}
这个错误提示我:存在1个IllegalAnnotationExceptions计数,表示该类拥有两个同名属性“fkdevice”,并且它指向getter和setter方法。
任何信息都可能有帮助, 提前致谢。
<name>
在 XML 中的哪个位置?与<row>
内的<fkdevice>
处于同一层级吗? - Lee Meadorx.getRows().get(0).getFkdevice()
和x.getRows().get(0).getName()
等等。 - Lee Meador