jaxb xml to bean

package www.garbin.com.utils; import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter; /**
* Created by linjiabin on 14/11/27.
*/
public class XMLUtils {
public static <T> T xml2Bean(Class<T> bean, String xmlStr) {
T s = null;
try {
JAXBContext context = JAXBContext.newInstance(bean);
Unmarshaller unmarshaller = context.createUnmarshaller();
s = (T)unmarshaller.unmarshal(new StringReader(xmlStr));
} catch (JAXBException e) {
e.printStackTrace();
}
return s;
} public static <T> String bean2Xml(T bean) {
String xmlStr = null;
StringWriter writer = null;
try {
JAXBContext context = JAXBContext.newInstance(bean.getClass());
Marshaller marshaller = context.createMarshaller();
writer = new StringWriter();
marshaller.marshal(bean, writer);
xmlStr = writer.toString();
} catch (JAXBException e) {
e.printStackTrace();
} finally {
if (null != writer) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return xmlStr;
} }
package www.garbin.com.pojo; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; /**
* Created by linjiabin on 14/11/28.
*/
@XmlRootElement(name = "Request")
public class Request {
private String service;
private String lang;
private String head;
private Body body;
@XmlAttribute(name = "service")
public String getService() {
return service;
} public void setService(String service) {
this.service = service;
}
@XmlAttribute(name = "lang")
public String getLang() {
return lang;
} public void setLang(String lang) {
this.lang = lang;
}
@XmlElement(name = "Head")
public String getHead() {
return head;
} public void setHead(String head) {
this.head = head;
}
@XmlElement(name = "Body")
public Body getBody() {
return body;
} public void setBody(Body body) {
this.body = body;
} public static class Body {
private Order order;
@XmlElement(name = "Order")
public Order getOrder() {
return order;
} public void setOrder(Order order) {
this.order = order;
}
}
public static class Order {
private String orderId;
private String expressType;
private String jCompany;
private String jContact;
private String jTel;
private String jAddress;
private String dCompany;
private String dContact;
private String dTel;
private String dAddress;
private Integer parcelQuantity;
private String payMethod;
private OrderOption orderOption; private Extra extra;
@XmlAttribute(name = "orderid")
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
@XmlAttribute(name = "express_type")
public String getExpressType() {
return expressType;
}
public void setExpressType(String expressType) {
this.expressType = expressType;
}
@XmlAttribute(name = "getj_company")
public String getjCompany() {
return jCompany;
}
public void setjCompany(String jCompany) {
this.jCompany = jCompany;
}
@XmlAttribute(name = "j_contact")
public String getjContact() {
return jContact;
}
public void setjContact(String jContact) {
this.jContact = jContact;
}
@XmlAttribute(name = "j_tel")
public String getjTel() {
return jTel;
}
public void setjTel(String jTel) {
this.jTel = jTel;
}
@XmlAttribute(name = "j_address")
public String getjAddress() {
return jAddress;
}
public void setjAddress(String jAddress) {
this.jAddress = jAddress;
}
@XmlAttribute(name = "j_company")
public String getdCompany() {
return dCompany;
}
public void setdCompany(String dCompany) {
this.dCompany = dCompany;
}
@XmlAttribute(name = "d_contact")
public String getdContact() {
return dContact;
}
public void setdContact(String dContact) {
this.dContact = dContact;
}
@XmlAttribute(name = "d_tel")
public String getdTel() {
return dTel;
}
public void setdTel(String dTel) {
this.dTel = dTel;
}
@XmlAttribute(name = "d_address")
public String getdAddress() {
return dAddress;
}
public void setdAddress(String dAddress) {
this.dAddress = dAddress;
}
@XmlAttribute(name = "parcel_quantity")
public Integer getParcelQuantity() {
return parcelQuantity;
}
public void setParcelQuantity(Integer parcelQuantity) {
this.parcelQuantity = parcelQuantity;
}
@XmlAttribute(name = "pay_method")
public String getPayMethod() {
return payMethod;
}
public void setPayMethod(String payMethod) {
this.payMethod = payMethod;
}
@XmlElement(name = "OrderOption")
public OrderOption getOrderOption() {
return orderOption;
}
public void setOrderOption(OrderOption orderOption) {
this.orderOption = orderOption;
} @XmlElement(name = "Extra")
public Extra getExtra() {
return extra;
}
public void setExtra(Extra extra) {
this.extra = extra;
}
}
public static class OrderOption {
private String custId;
private String jShippercode;
private String dDeliverycode;
private String cargo;
private Float cargoTotalWeight;
private String sendstarttime;
private String mailno;
private String remark;
private AddedService addedService;
@XmlAttribute(name = "custid")
public String getCustId() {
return custId;
} public void setCustId(String custId) {
this.custId = custId;
}
@XmlAttribute(name = "j_shippercode")
public String getjShippercode() {
return jShippercode;
} public void setjShippercode(String jShippercode) {
this.jShippercode = jShippercode;
}
@XmlAttribute(name = "d_deliverycode")
public String getdDeliverycode() {
return dDeliverycode;
} public void setdDeliverycode(String dDeliverycode) {
this.dDeliverycode = dDeliverycode;
}
@XmlAttribute(name = "cargo")
public String getCargo() {
return cargo;
} public void setCargo(String cargo) {
this.cargo = cargo;
}
@XmlAttribute(name = "cargo_total_weight")
public Float getCargoTotalWeight() {
return cargoTotalWeight;
} public void setCargoTotalWeight(Float cargoTotalWeight) {
this.cargoTotalWeight = cargoTotalWeight;
}
@XmlAttribute(name = "sendstarttime")
public String getSendstarttime() {
return sendstarttime;
} public void setSendstarttime(String sendstarttime) {
this.sendstarttime = sendstarttime;
}
@XmlAttribute(name = "mailno")
public String getMailno() {
return mailno;
} public void setMailno(String mailno) {
this.mailno = mailno;
}
@XmlAttribute(name = "remark")
public String getRemark() {
return remark;
} public void setRemark(String remark) {
this.remark = remark;
}
@XmlElement(name = "AddedService")
public AddedService getAddedService() {
return addedService;
}
public void setAddedService(AddedService addedService) {
this.addedService = addedService;
}
}
public static class AddedService {
private String name;
private String value;
private String value1;
private String value2;
private String value3;
@XmlAttribute(name = "name")
public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
@XmlAttribute(name = "value")
public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
}
@XmlAttribute(name = "value1")
public String getValue1() {
return value1;
} public void setValue1(String value1) {
this.value1 = value1;
}
@XmlAttribute(name = "value2")
public String getValue2() {
return value2;
} public void setValue2(String value2) {
this.value2 = value2;
}
@XmlAttribute(name = "value3")
public String getValue3() {
return value3;
} public void setValue3(String value3) {
this.value3 = value3;
}
}
public static class Extra {
private String e1;
@XmlAttribute(name = "e1")
public String getE1() {
return e1;
} public void setE1(String e1) {
this.e1 = e1;
}
} }
package www.garbin.com.pojo; import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;
import java.io.Serializable; /**
* Created by linjiabin on 14/11/28.
*/
@XmlRootElement(name = "Response")
public class Response implements Serializable {
private String service;
private String head;
private Error error;
private Body body;
@XmlAttribute(name = "service")
public String getService() {
return service;
}
public void setService(String service) {
this.service = service;
}
@XmlElement(name = "Head")
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
@XmlElement(name = "ERROR")
public Error getError() {
return error;
} public void setError(Error error) {
this.error = error;
}
@XmlElement(name = "Body")
public Body getBody() {
return body;
} public void setBody(Body body) {
this.body = body;
}
public static class Error {
private String value;
private String code;
@XmlValue
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@XmlAttribute(name = "code")
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
public static class Body {
private OrderResponse orderResponse;
@XmlElement(name = "OrderResponse")
public OrderResponse getOrderResponse() {
return orderResponse;
}
public void setOrderResponse(OrderResponse orderResponse) {
this.orderResponse = orderResponse;
}
}
public static class OrderResponse {
private String orderId;
private String mailno;
private String origincode;
private String destcode;
private String filterResut;
private String remark;
@XmlAttribute(name = "orderid")
public String getOrderId() {
return orderId;
} public void setOrderId(String orderId) {
this.orderId = orderId;
}
@XmlAttribute(name = "mailno")
public String getMailno() {
return mailno;
} public void setMailno(String mailno) {
this.mailno = mailno;
}
@XmlAttribute(name = "origincode")
public String getOrigincode() {
return origincode;
} public void setOrigincode(String origincode) {
this.origincode = origincode;
}
@XmlAttribute(name = "destcode")
public String getDestcode() {
return destcode;
} public void setDestcode(String destcode) {
this.destcode = destcode;
}
@XmlAttribute(name = "filter_result")
public String getFilterResut() {
return filterResut;
} public void setFilterResut(String filterResut) {
this.filterResut = filterResut;
}
@XmlAttribute(name = "remark")
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
} }
package www.garbin.com.test; import www.garbin.com.pojo.Request;
import www.garbin.com.utils.XMLUtils; import javax.xml.bind.JAXBException;
import java.rmi.RemoteException;
import java.util.Random; /**
* Created by linjiabin on 14/11/28.
*/
public class TestXMl {
public static void main(String[] args) throws JAXBException, RemoteException {
Request request = new Request();
request.setLang("zh-CN");
request.setService("OrderService");
Request.Body body = new Request.Body();
Request.Order requestOrder = new Request.Order();
requestOrder.setOrderId("WSD_22222232" + "_" + new Random().nextInt());
requestOrder.setdAddress("福建厦门市思明区软件园二期望海路55号");
requestOrder.setjAddress("福建厦门市思明区软件园二期望海路55号");
requestOrder.setdTel("13506962224");
requestOrder.setjTel("13514087953");
requestOrder.setExpressType("2");
requestOrder.setParcelQuantity(1);
requestOrder.setPayMethod("1");
Request.OrderOption orderOption = new Request.OrderOption();
orderOption.setCustId("5555555555");
Request.AddedService addedService = new Request.AddedService();
addedService.setName("COD");
addedService.setValue("1111");
addedService.setValue1("5555555555");
orderOption.setAddedService(addedService);
requestOrder.setOrderOption(orderOption);
body.setOrder(requestOrder);
request.setBody(body);
request.setHead("SHFJ,Eta7siUxZX5zIfNO");
String xmlStr = XMLUtils.bean2Xml(request);
System.out.println(xmlStr);
}
}
jaxb xml to bean的更多相关文章
- 利用jaxb实现xml和bean的相互转换
1.使用jar包生成xsd文件 java -jar trang.jar a.xml a.xsd xml格式 生成的xsd文件 2.使用xjc命令生成bean文件 xjc a.xsd 生成的相关bean ...
- 使用Jaxb2进行xml与bean的转义时Date的format设置
参考http://jackyrong.iteye.com/blog/1826699 JAXB转换JAVA OBJECT到XML的时候,对java.util.Date的转换有些要注意的地方 输出的格式为 ...
- Springboot中使用Xstream进行XML与Bean 相互转换
在现今的项目开发中,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂.繁琐.推荐一套简单的 ...
- [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)
转自:[CXF REST标准实战系列] 一.JAXB xml与javaBean的转换 文章Points: 1.不认识到犯错,然后得到永久的教训. 2.认识JAXB 3.代码实战 1.不认识到犯错,然后 ...
- [转]hibernate在eclipse的逆向工程生成hbm.xml和bean类
原文地址:http://www.xuebuyuan.com/210489.html 以前一直用myelipse,在myeclipse做hibernate逆向工程倒是很顺手了. 可是最近改用eclips ...
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...
- spring学习总结——装配Bean学习三(xml装配bean)
通过XML装配bean Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了.不过,鉴于已经存在那么多基于XML的Spring配置,所以理解如何在Spring中使用 ...
- XStream进行xml和bean互转
加入pom <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>x ...
- 第2章—装配Bean—通过XML装配Bean
通过XML装配Bean 尽管我们在生成Bean的过程中可以用到很多方法,但我们依然需要Spring的XML配置来完善更多的需求,下面就来介绍下XML装配Bean的过程是怎样的. 3.1创建XML配 ...
随机推荐
- Heroku 部署时 time out 错误,对GFW无力吐槽!!!
整理自:http://ruby-china.org/topics/10813 部署到Heroku时输入 git push heroku master. 然后就开始漫长的等待了,最终报错: ssh: c ...
- 作业:汽车查询--弹窗显示详情,批量删除 ajax做法(0521)
作业:显示以下界面: 作业要求: 1.查看详细信息,以弹窗的形式显示,使用ajax2.批量删除 一.主页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...
- PHP面向对象的构造方法与析构方法
构造方法与析构方法是对象中的两个特殊方法,它们都与对象的生命周期有关.构造方法时对象创建完成后第一个被对象自动调用的方法,这是我们在对象中使用构造方法的原因.而析构方法时对象在销毁之前最后一个被对象自 ...
- Hadoop学习历程(三、第一个程序)
根据之前的操作,我们已经可以正常的启动Hadoop了,关于真正的集群我会在之后进行说明.现在我们来看一下第一个程序吧 1. 在eclipse上建立一个java项目 2. 将 /usr/hadoop/s ...
- mac下 配置tomcat
第一步: 1.打开你的终端:然后输入 pico .bash_profile 回车 第二步: 2. 然后添加你tomcat放入的路径的path 编辑完后,control+x (保存) 继 ...
- Objective-C Http常用API 同步请求与异步请求
开发iOS应用要调用Http接口.获取Http资源,有一套比较成熟的框架ASIHTTPRequest.而我还是比较喜欢使用原始一点的 API,而它跟其他的面向对象语言有许多共通之处.本文分同步请求和异 ...
- Spring注解 @Resource和@Autowired
@Resource和@Autowired两者都是做bean的注入使用.其实@Resource并不是Spring的注解,他的包是javax.annotation.Resource 需要导入.但是Spri ...
- 浅谈单片机、ARM和DSP的异同
犹记得当年读书的时候,老师说单片机.ARM.DSP有互通之处,都是CPU,但听老师讲都听不懂. 我该如何理解他们,并找出他们的异同呢?我们来看看行内人的看法: ICer,从事ARM CPU的SOC设计 ...
- 深入理解linux网络技术内幕读书笔记(四)--通知链
Table of Contents 1 概述 2 定义链 3 链注册 4 链上的通知事件 5 网络子系统的通知链 5.1 包裹函数 5.2 范例 6 测试实例 概述 [注意] 通知链只在内核子系统之间 ...
- c++命名空间瀑布
一般情况,函数放在命名空间外,命名空间内部放置声明 #include<iostream> using namespace std; //一般情况,函数放在命名空间外,命名空间内部放置声明 ...