我有和的XmlObject [],它具有数据是这样的:list2
数据的XmlObject []以java.lang.Object继承[]
<xml-fragment xmlns:ax22="http://xyz...>
<ax21:array>1</ax21:array>
<ax21:array></ax21:array>
<ax21:array>124029</ax21:array>
<ax21:array>20170210</ax21:array>
<ax21:array>2</ax21:array>
</xml-fragment>
<xml-fragment>
.....
有没有简单的方法将其转换为List<Objects[]>
或Java Array<A[]>
?请注意,有数百个这样的xml-fragment标签。
我使用Axis2,以XML绑定,因为它支持JAVA Array
其实我在Hibernate中使用query.list();
收到从组web服务一个List<Object[]>
by子句。现在在一个web服务中,它必须只处理数组没有特别的java.util.Collections
,所以我把这个List<Object[]>
转换成一个Object[]
并作为响应发送给guiObject
中的客户端。
一旦接收到响应,当我尝试itertate过这样的:客户端代码:
Object[] list2 = guiObject.getBatchListArray(); // This gives XmlObject[] which in turn contains other XmlAnyTypeImpl arrays.
for (Object entry : list2) {
Object[] obj = (Object[]) entry; // exception occurs here
这让我异常:
org.apache.xmlbeans.impl.values.XmlAnyTypeImpl cannot be cast to [Ljava.lang.Object;
实际数据由guiObject
包含:
<xml-fragment xsi:type="ax21:GuiObject" xmlns:ax22="http://model.kgs.persistence/xsd" xmlns:ax21="http://model.kgs.ws/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://impl.kgs.ws" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<ax21:accountNot xsi:nil="true"/>
<ax21:assignedUser xsi:nil="true"/>
<ax21:batchList>
<ax21:array>1</ax21:array>
<ax21:array>KOREFFAA</ax21:array>
<ax21:array>103941</ax21:array>
<ax21:array>20170201</ax21:array>
<ax21:array>1</ax21:array>
</ax21:batchList>
<ax21:batchList>
.......
我可以使用getters获取数据,但使用的是guiObject
数组的情况下是不可能的。帮帮我 !
你能否为他人添加一些Java代码来理解你到目前为止所做的以及你正在尝试做什么? – anacron