<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
dfd
111
234
sdd
想用jaxb实现java对象和xml的转换,xml的格式如上,在定义pojo类时可以定义一个Resulst类其中包括code、msg属性,一个service类,然后包括result、cash、commission、orderNo属性。。不过现在是想把result作为service的属性定义成String类型,不去单独定义类,该如何实现这种转换??求指导。。
关于jaxb的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Dead_Knight 2013-05-02 10:16关注
首先,你这个思想就违背了jaxb的意愿。既然你不想定义result这个类,那你service中的属性都可以不用定义了,直接使用XmlJavaTypeAdapter这样大的注解去marshal、unmarshal对象xml就行了。一般使用jaxb,如果属性为某个类库中定义的类,而需要转换为xml时,通过XmlJavaTypeAdapter来进行特殊处理。如插件开发中,元素属性为:org.eclipse.draw2d.geometry.Rectangle(矩形)时,通过XmlJavaTypeAdapter转换,如下所示:
[code="java"]
import javax.xml.bind.annotation.adapters.XmlAdapter;import org.eclipse.draw2d.geometry.Rectangle;
public class LayoutXmlAdapter extends XmlAdapter
{
@Override
public String marshal(Rectangle v) throws Exception
{
if(v == null) return "";
return v.x + "," + v.y + "," + v.width + "," + v.height;
}@Override public Rectangle unmarshal(String v) throws Exception { if(v != null && v.trim().length() > 0) { String[] ps = v.split(","); if(ps.length ==4) { int x = Integer.parseInt(ps[0]); int y = Integer.parseInt(ps[1]); int width = Integer.parseInt(ps[2]); int height = Integer.parseInt(ps[3]); return new Rectangle(x, y, width, height); } } return new Rectangle(0, 0, 0, 0); }
}
[/code]如果你非要不定义result类,直接转换为:
dfd
那你可以使用XmlJavaTypeAdapter注解。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 求差集那个函数有问题,有无佬可以解决
- ¥15 【提问】基于Invest的水源涵养
- ¥20 微信网友居然可以通过vx号找到我绑的手机号
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题