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的更多相关文章

  1. 利用jaxb实现xml和bean的相互转换

    1.使用jar包生成xsd文件 java -jar trang.jar a.xml a.xsd xml格式 生成的xsd文件 2.使用xjc命令生成bean文件 xjc a.xsd 生成的相关bean ...

  2. 使用Jaxb2进行xml与bean的转义时Date的format设置

    参考http://jackyrong.iteye.com/blog/1826699 JAXB转换JAVA OBJECT到XML的时候,对java.util.Date的转换有些要注意的地方 输出的格式为 ...

  3. Springboot中使用Xstream进行XML与Bean 相互转换

    在现今的项目开发中,虽然数据的传输大部分都是用json格式来进行传输,但是xml毕竟也会有一些老的项目在进行使用,正常的老式方法是通过获取节点来进行一系列操作,个人感觉太过于复杂.繁琐.推荐一套简单的 ...

  4. [CXF REST标准实战系列] 一、JAXB xml与javaBean的转换(转)

    转自:[CXF REST标准实战系列] 一.JAXB xml与javaBean的转换 文章Points: 1.不认识到犯错,然后得到永久的教训. 2.认识JAXB 3.代码实战 1.不认识到犯错,然后 ...

  5. [转]hibernate在eclipse的逆向工程生成hbm.xml和bean类

    原文地址:http://www.xuebuyuan.com/210489.html 以前一直用myelipse,在myeclipse做hibernate逆向工程倒是很顺手了. 可是最近改用eclips ...

  6. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配

    一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...

  7. spring学习总结——装配Bean学习三(xml装配bean)

    通过XML装配bean Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了.不过,鉴于已经存在那么多基于XML的Spring配置,所以理解如何在Spring中使用 ...

  8. XStream进行xml和bean互转

    加入pom <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>x ...

  9. 第2章—装配Bean—通过XML装配Bean

    通过XML装配Bean ​ 尽管我们在生成Bean的过程中可以用到很多方法,但我们依然需要Spring的XML配置来完善更多的需求,下面就来介绍下XML装配Bean的过程是怎样的. 3.1创建XML配 ...

随机推荐

  1. jq不识别拼接的对象id的解决方案

    今天在做项目时,遇到了这么个问题. 先声明一下,我的id都是动态变换的.从1-10呢. <div id="a1"></div> <div id=&qu ...

  2. 安全性良好的operator=操作,和新的new方法(针对深度复制的情况)

    class B { }; class A { public: A& operator=(const A& a) { B* temp = b; //这里解决重复赋值的方法是用temp指向 ...

  3. VS2012 编写C++程序的时候DOS窗口一闪而过解决办法。

    在我每次通过VS2012 运行C++程序的时候,DOS窗口在显示结果的时候都是一闪而过.这样让人没法观察输出的结果.经试验找到了一较好的解决办法: 首先包含头文件"stdlib.h" ...

  4. 莫队算法学习笔记【BZOJ2038:小Z的袜子】【SPOJ3267:D-query】

    很久以前傻乎乎地看来源奇怪的资料的时候被各种曼哈顿弄晕了. 然后现在学会的是分块方法.另新创一个分块方法. 让我们考虑这样一个区间询问问题…… 它有如下的性质: 0,n个数,Q个询问. 1,它没有修改 ...

  5. C#编码标准--编码习惯

    C#编码标准--编码习惯 0.  书写程序时的大小写规则: a) 类:PascalCase表示法.如 MyClass b) 枚举值:PascalCase表示法.如 Colors.Red c) 枚举类型 ...

  6. shopnc B2B2C商城 Nginx下开启伪静态

    B2B2C商城 Nginx下开启伪静态,伪静态开启后,对系统的SEO极为有利,可以最大限度让商城页面被搜索引擎抓取,但在实际安装中,很多客户在这块都会遇到各种各样的问题. 1. 编辑商城配置文件(da ...

  7. Python学习笔记总结(三)类

    一.类简单介绍 1.介绍 类是Python面向对象程序设计(OOP)的主要工具,类建立使用class语句,通过class定义的对象. 类和模块的差异,类是语句,模块是文件. 类和实例 实例:代表程序领 ...

  8. 这样就算会了PHP么?-6

    关于PHP与WEB表单交互的CASE,十多年前没拾起来啊. 下一步进入JS与PHP的交互... <form name="form1" method="post&qu ...

  9. Handler处理长时间事件

    当我们在处理一些比较长时间的事件时候,比如读取网络或者数据库的数据时候,就要用到Handler,有时候为了不影响用户操作应用的流畅还要开多一个线程来区别UI线程,在新的线程里面处理长时间的操作.开发的 ...

  10. hdu 4512 吉哥系列故事——完美队形I_LCIS

    题目链接 题意: 假设有n个人按顺序站在他的面前,他们的身高分别是h[1], h[2] ... h[n],吉哥希望从中挑出一些人,让这些人形成一个新的队形,新的队形若满足以下三点要    求,则就是新 ...