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配 ...
随机推荐
- C#操作iframe
<iframe id="cl" name="clf" src="xianshi.aspx" runat="server&qu ...
- 使用Hammer.js的H5页面开发DOM的一些小说法
前几天,一个小伙伴说叫我帮他写一个移动端上的一个轮播图,个人一般是不接私活的,毕竟平时工作也是单双休,时间也不很多. 可能大部分程序员,多余的时间都是看看新闻,打游戏,或者学习新的知识,缺少运动吧. ...
- LBS配置
js: <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak= ...
- Pyzo -- 好用的 Python 轻量级 IDE
近期 yvivid 使用 Python 进行科学计算类应用(如matlab部分应用场景) 比较好的 发行版本为 Anaconda: A free distribution for the SciPy ...
- 将日期yyyy-MM-dd转为数字大写的形式
/** * 将日期转大写 * 例如:2013-05-13转为 二0一三年五月十三日 * @param date * @return */ public static String getDxDate( ...
- android dom方式创建xml
http://blog.csdn.net/nxh_love/article/details/7085174 在android dom 解析xml方式文章中,简单介绍了dom解析xml的应用.今天在原文 ...
- 工控主板EM9161对ISO7816协议的支持
在当前的金融POS终端及相关领域,ISO7816通讯协议得到了广泛应用.英创的工控主板EM9161,可在其异步串口的基础上,通过简单的设置,就可把串口转为符合ISO7816协议的接口,实现与各种智能卡 ...
- 从Lumia退役看为什么WP走向没落(从程序员与市场开发的角度,讲的真棒!)
http://www.cnblogs.com/zhangkai2237/p/4856880.html
- IDEA 快捷键整理
1. IDEA内存优化 \IntelliJ IDEA 9\bin\idea.exe.vmoptions ----------------------------------------- -Xms6 ...
- bzoj4033
http://www.lydsy.com/JudgeOnline/problem.php?id=4033 树形DP. 我们发现,每条边都是一条桥,若我们知道这条边其中一侧有多少个黑点,我们就可以知道这 ...