2
假设我有一个简单的Java类是这样的:拦截西河在解析XML
public class User {
String firstName;
String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
现在,假设我要解析以下XML:
<user>
<firstName>Homer</firstName>
<lastName>Simpson</lastName>
</user>
我可以没有任何问题做到这一点在XStream像这样:
User homer = (User) xstream.fromXML(xml);
好吧,迄今为止都很好,但这里是我的问题。
假设我有以下的,我想解析XML:
<user>
<fullName>Homer Simpson</fullName>
</user>
我如何转换这个XML到使用的XStream的相同用户对象?
我想要一种方法来实现某种回调,以便当XStream解析fullName字段时,我可以将字符串拆分为两部分,并手动设置用户对象的名字和姓氏字段。这可能吗?
请注意,我不问如何将字符串拆分为两部分(这很容易),我想知道如何截取XML解析,因此XStream不会尝试在用户上反射设置fullName字段对象(显然不存在)。
我看着XStream提供的转换器,但无法弄清楚如何使用它。
任何帮助,将不胜感激。
谢谢,我结束了使用自定义转换器实现类似的解决方案,以你的。 – 2011-02-04 10:59:27