-
java 用 xstream 进行反序列化 出现的问题10
<cyret>
<status>200</status>
<cydat>
<queriedschedules>
<queriedschedule>
<corpcode>JXCY</corpcode>
<tysiteid>JXCY-XFKYZ</tysiteid>
<ddate>2012-03-28</ddate>
<dtime>07:30</dtime>
<scode>360121003</scode>
<sname> 客运站</sname>
<ecode>3604000000</ecode>
<ename>新街0</ename>
<regularno>09004</regularno>
<linename /><cartypename />
<totalpriceid>Q</totalpriceid>
<totalprice>30.00</totalprice>
<halfpriceid>B</halfpriceid>
<halfprice>30.00</halfprice>
<studentpriceid>X</studentpriceid>
<studentprice>30.00</studentprice>
<handicappedpriceid>C</handicappedpriceid>
<handicappedprice />
<armymanpriceid>J</armymanpriceid>
<armymanprice />
<distance />
<schedulestatus />
<totalseats />
<leaveseats />
</queriedschedule>
<queriedschedule>
<corpcode>JXCY</corpcode>
<tysiteid>JXCY-XFKYZ</tysiteid>
<ddate>2012-03-28</ddate>
<dtime>07:30</dtime>
<scode>360121003</scode>
<sname> 客运站</sname>
<ecode>3604000000</ecode>
<ename>新街0</ename>
<regularno>09004</regularno>
<linename /><cartypename />
<totalpriceid>Q</totalpriceid>
<totalprice>30.00</totalprice>
<halfpriceid>B</halfpriceid>
<halfprice>30.00</halfprice>
<studentpriceid>X</studentpriceid>
<studentprice>30.00</studentprice>
<handicappedpriceid>C</handicappedpriceid>
<handicappedprice />
<armymanpriceid>J</armymanpriceid>
<armymanprice />
<distance />
<schedulestatus />
<totalseats />
<leaveseats />
</queriedschedule>
</queriedschedules>
</cydat>
</cyret>
上面是xml 字符串 是通过webservice发送过来的,我这边在处理的时候 通过xStream进行反序列化,但是 反序列queriedschedules queriedschedule 这个两个节点 到 对象中是 那个对象的属性里面的值为null。 由于这些节点的名称不是太标准所以我这边的实体类的属性需要运用注解的方式设置节点的名称,,大家帮我看看我配置那个List的方式对不对。
我这边在反序列化的时候 可以得到 scheduleInfoDetails 这个集合,但是只有第一个对象部位null ,其他的都为null ,并且第一个对象中的属性都也为null ,,,,大家有对这个xstream 熟悉的吗?帮我看看 我感觉是 我的配置有问题
@XStreamAlias("cydat")
public class EntScheduleInfo {
/**
*
*/
@XStreamAlias(impl=EntScheduleInfoDetail.class,value="queriedschedule")
@XStreamImplicit(itemFieldName="queriedschedules")
private List<EntScheduleInfoDetail> scheduleInfoDetails;
public List<EntScheduleInfoDetail> getScheduleInfoDetails() {
return scheduleInfoDetails;
}
public void setScheduleInfoDetails(
List<EntScheduleInfoDetail> scheduleInfoDetails) {
this.scheduleInfoDetails = scheduleInfoDetails;
}
}
@XStreamAlias("queriedschedule")
public class EntScheduleInfoDetail {
@XStreamAlias("corpcode")
private String corpcode;
@XStreamAlias("tysiteid")
private String tysiteid;
@XStreamAlias("ddate")
private String ddate;
@XStreamAlias("dtime")
private String dtime;
@XStreamAlias("scode")
private String scode;
@XStreamAlias("sname")
private String sname;
@XStreamAlias("ecode")
private String ecode;
@XStreamAlias("ename")
private String ename;
@XStreamAlias("regularno")
private String regularno;
@XStreamAlias("linename")
private String linename;
@XStreamAlias("cartypename")
private String cartypename;
@XStreamAlias("totalpriceid")
private String totalpriceid;
@XStreamAlias("totalprice")
private String totalprice;
@XStreamAlias("halfpriceid")
private String halfpriceid;
@XStreamAlias("halfprice")
private String halfprice;
@XStreamAlias("studentpriceid")
private String studentpriceid;
@XStreamAlias("studentprice")
private String studentprice;
@XStreamAlias("handicappedpriceid")
private String handicappedpriceid;
@XStreamAlias("handicappedprice")
private String handicappedprice;
@XStreamAlias("armymanpriceid")
private String armymanpriceid;
@XStreamAlias("armymanprice")
private String armymanprice;
@XStreamAlias("distance")
private String distance;
@XStreamAlias("schedulestatus")
private String schedulestatus;
@XStreamAlias("totalseats")
private String totalseats;
@XStreamAlias("leaveseats")
private String leaveseats;
public String getCorpcode() {
return corpcode;
}
public void setCorpcode(String corpcode) {
this.corpcode = corpcode;
}
public String getTysiteid() {
return tysiteid;
}
public void setTysiteid(String tysiteid) {
this.tysiteid = tysiteid;
}
public String getDdate() {
return ddate;
}
public void setDdate(String ddate) {
this.ddate = ddate;
}
public String getDtime() {
return dtime;
}
public void setDtime(String dtime) {
this.dtime = dtime;
}
public String getScode() {
return scode;
}
public void setScode(String scode) {
this.scode = scode;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getEcode() {
return ecode;
}
public void setEcode(String ecode) {
this.ecode = ecode;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getRegularno() {
return regularno;
}
public void setRegularno(String regularno) {
this.regularno = regularno;
}
public String getLinename() {
return linename;
}
public void setLinename(String linename) {
this.linename = linename;
}
public String getCartypename() {
return cartypename;
}
public void setCartypename(String cartypename) {
this.cartypename = cartypename;
}
public String getTotalpriceid() {
return totalpriceid;
}
public void setTotalpriceid(String totalpriceid) {
this.totalpriceid = totalpriceid;
}
public String getTotalprice() {
return totalprice;
}
public void setTotalprice(String totalprice) {
this.totalprice = totalprice;
}
public String getHalfpriceid() {
return halfpriceid;
}
public void setHalfpriceid(String halfpriceid) {
this.halfpriceid = halfpriceid;
}
public String getHalfprice() {
return halfprice;
}
public void setHalfprice(String halfprice) {
this.halfprice = halfprice;
}
public String getStudentpriceid() {
return studentpriceid;
}
public void setStudentpriceid(String studentpriceid) {
this.studentpriceid = studentpriceid;
}
public String getStudentprice() {
return studentprice;
}
public void setStudentprice(String studentprice) {
this.studentprice = studentprice;
}
public String getHandicappedpriceid() {
return handicappedpriceid;
}
public void setHandicappedpriceid(String handicappedpriceid) {
this.handicappedpriceid = handicappedpriceid;
}
public String getHandicappedprice() {
return handicappedprice;
}
public void setHandicappedprice(String handicappedprice) {
this.handicappedprice = handicappedprice;
}
public String getArmymanpriceid() {
return armymanpriceid;
}
public void setArmymanpriceid(String armymanpriceid) {
this.armymanpriceid = armymanpriceid;
}
public String getArmymanprice() {
return armymanprice;
}
public void setArmymanprice(String armymanprice) {
this.armymanprice = armymanprice;
}
public String getDistance() {
return distance;
}
public void setDistance(String distance) {
this.distance = distance;
}
public String getSchedulestatus() {
return schedulestatus;
}
public void setSchedulestatus(String schedulestatus) {
this.schedulestatus = schedulestatus;
}
public String getTotalseats() {
return totalseats;
}
public void setTotalseats(String totalseats) {
this.totalseats = totalseats;
}
public String getLeaveseats() {
return leaveseats;
}
public void setLeaveseats(String leaveseats) {
this.leaveseats = leaveseats;
}
}
2012年4月07日 19:33
目前还没有答案
相关推荐
在`XStreamTest.java`文件中,通常会包含一个主测试类,这个类会展示如何使用XStream进行序列化和反序列化。下面是一段可能的示例代码: ```java import com.thoughtworks.xstream.XStream; public class ...
在本文中,我们将深入探讨Bboss和Xstream两个序列化和反序列化库在性能方面的差异。这两个库在Java开发中广泛用于将对象转换为XML格式,以便于存储、传输或持久化。以下是对这两个库的详细分析。 首先,Bboss和...
7. 示例代码:`PersonTest.java`可能是测试用例,它会创建`Person`对象,然后使用XStream进行序列化和反序列化操作,以确保数据的一致性。 通过这些步骤,开发者可以方便地在Java对象和XML文档之间进行转换,这对于...
以下是如何使用XStream进行序列化和反序列化的简单步骤: 1. **序列化对象**: 为了序列化对象,你需要创建一个`XStream`实例,然后使用`toXML`方法将对象转换为XML字符串。例如,在`Writer`类中,可以创建一个`...
亿赛通电子文档安全管理系统存在XStream反序列化远程代码执行漏洞,攻击者可利用该漏洞对服务器上传任意文件,进而控制服务器权限。 使用 帮助信息 $ java -jar CDGXStreamDeserRCE.jar 亿赛通电子文档安全管理...
对于支持`java.io.Serializable`接口的类,XStream会检查`serializationMembers.supportsReadObject`,如果支持,它会调用`serializationMembers.callReadObject`进行反序列化操作。`readObjectMethod`被获取并使用...
Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream是一个开源的Java库,由Johannes Link创建。它提供了简洁、直观的API来处理XML...
在提供的压缩包中,`sample.xml`可能是使用XStream序列化后的Java对象示例,而`src`目录可能包含了相关的Java源代码,供学习和参考。通过研究这些文件,你可以更深入地理解XStream的工作原理和使用方式。
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
这样,当我们使用Xstream序列化一个`Person`对象时,会得到如下的XML: ```xml <firstName>John <lastName>Doe ``` 为了序列化Java对象,我们可以创建一个Xstream实例并调用`toXML()`方法: ```java Person ...
接下来,如果要从XML字符串反序列化回Java对象,可以使用XStream的`fromXML()`方法: ```java Person deserializedPerson = (Person) xstream.fromXML(xml); ``` XStream还可以处理复杂的对象结构,包括嵌套的对象...
这个强大的库在处理XML序列化和反序列化时提供了简单而直观的API,尤其适用于Android开发中与XML数据交互的场景。 在Android开发中,XStream 的主要用途是进行数据持久化,例如存储应用的状态或网络请求的响应数据...
在使用 XStream 进行序列化时,我们首先需要创建一个 `XStream` 实例,然后调用 `toXML()` 方法,传入要转换的 Java 对象。这将返回一个表示该对象的 XML 字符串。例如: ```java XStream xstream = new XStream();...
Java序列化是将Java对象转换为字节流的过程,以便可以存储在磁盘上或通过网络进行传输。这个过程对于持久化对象数据、跨进程通信和在网络上传输对象非常有用。在Java中,序列化是通过实现`Serializable`接口来完成的...
为了安全起见,XStream提供了黑名单和白名单机制,限制哪些类可以被序列化或反序列化,防止潜在的安全问题。 5. **处理复杂数据结构** XStream支持处理复杂的数据结构,包括集合、数组、嵌套对象等。它会自动递归...
这时,xStream库应运而生,它提供了一个简单、高效的API来实现XML与Java对象之间的序列化和反序列化。 xStream库的核心概念是“映射”,它通过创建一个映射关系,将Java对象与XML元素和属性对应起来。这使得我们...
XStream是一个用Java编写的开源库,它提供了将Java对象序列化为XML,以及从XML反序列化回Java对象的能力。这个库以其简单易用和强大的功能在Java社区中广受欢迎。本文将通过分析"XStream4JavaDemo演示源码",深入...
同样,我们也可以使用XStream进行反序列化,将XML字符串恢复为Java对象: ```java String xmlInput = "<User><name>Forest</name><age>30</age></User>"; User deserializedUser = (User) xstream.fromXML(xmlInput)...
总的来说,“使用XStream是实现XML与Java对象的转换(6)--持久化”这个主题涵盖了如何使用XStream进行对象的持久化操作,包括创建XStream实例、序列化和反序列化,以及文件I/O操作。了解这些知识点对于需要在Java项目...
总的来说,XStream是Java开发中处理XML序列化和反序列化的强大工具,其简单易用的API使得XML与Java对象之间的转换变得轻松而高效。通过熟练掌握XStream的使用,开发者可以更好地在Java应用中利用XML进行数据交换和...