<presons>
<preson>
<name>ffff</name>
<sex>x</sex>
<age>1</age>
</preson>
<preson>
<name>rrrrr</name>
<sex>f</sex>
<age>4</age>
</preson>
</presons>
这样的一个XML,我定义了2个javaBean:public class Presons {
private List<Preson> preson; public List<Preson> getPreson() {
return preson;
} public void setPreson(List<Preson> preson) {
this.preson = preson;
}public class Preson {
private String name;
private String sex;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}解析的时候是这样的:
XStream xs = new XStream(new DomDriver());
xs.alias("presons", Presons.class);
xs.alias("preson", Preson.class);
xs.fromXML(msg);
报错了:
com.thoughtworks.xstream.converters.ConversionException: name : name : name : name
---- Debugging information ----
message : name : name
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : name : name
class : com.suning.epp.seam.test.Presons
required-type : java.util.ArrayList
path : /presons/preson/name
-------------------------------
但是很奇怪的是,如果我仅仅解析<preson>标签,是可以的:
String msg1 = "<preson><name>ffff</name><sex>x</sex><age>1</age></preson>";
XStream xs = new XStream(new DomDriver());
//xs.alias("presons", Presons.class);
xs.alias("preson", Preson.class);
Preson p = (Preson)xs.fromXML(msg1);
这个就是对的。
还请达人帮忙看一下,很急的,谢谢
<preson>
<name>ffff</name>
<sex>x</sex>
<age>1</age>
</preson>
<preson>
<name>rrrrr</name>
<sex>f</sex>
<age>4</age>
</preson>
</presons>
这样的一个XML,我定义了2个javaBean:public class Presons {
private List<Preson> preson; public List<Preson> getPreson() {
return preson;
} public void setPreson(List<Preson> preson) {
this.preson = preson;
}public class Preson {
private String name;
private String sex;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}解析的时候是这样的:
XStream xs = new XStream(new DomDriver());
xs.alias("presons", Presons.class);
xs.alias("preson", Preson.class);
xs.fromXML(msg);
报错了:
com.thoughtworks.xstream.converters.ConversionException: name : name : name : name
---- Debugging information ----
message : name : name
cause-exception : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message : name : name
class : com.suning.epp.seam.test.Presons
required-type : java.util.ArrayList
path : /presons/preson/name
-------------------------------
但是很奇怪的是,如果我仅仅解析<preson>标签,是可以的:
String msg1 = "<preson><name>ffff</name><sex>x</sex><age>1</age></preson>";
XStream xs = new XStream(new DomDriver());
//xs.alias("presons", Presons.class);
xs.alias("preson", Preson.class);
Preson p = (Preson)xs.fromXML(msg1);
这个就是对的。
还请达人帮忙看一下,很急的,谢谢
解决方案 »
- 寻找!能垮服务器上传文件的html在线编辑器!可付费!
- weblogic报错,页面能正常显示,但速度非常之慢,请问这是什么原因
- struts2.16整合spring2.5
- 有关集合的问题!Vector,Collection,ArryList,HashMap
- Ext解析hibernate一对多生成的json
- 用jdom解析xml,xml中有中文就会出错,怎么解决啊?jdom里面有编码转换的方法么?
- tomcat 怎样加入Tomcat Administration
- 在JAVA中 如何在菜单中加入带下划线的字母来作为快捷键?
- ******tomcat环境下,html调用activex的问题!!!!!!
- Weblogic7和JBuilder8的一个问题,大虾请进?高分,在线等待!马上结帐。
- spring配置问题。急急!!
- 求一些比较好的公司开发规范文档
试试。
required-type : java.util.ArrayList
path : /presons/preson/name看看api
public class Presons {
private List<Preson> presonList; public List<Preson> getPresonList() {
return presonList;
} public void setPresonList(List<Preson> presonList) {
this.presonList = presonList;
}然后用
XStream xs = new XStream(new DomDriver());
xs.alias("presons", Presons.class);
xs.alias("preson", Preson.class);
xs.addImplicitCollection(Presons.class, "presonList");就正确的解析出来了。谢谢谢谢