package cn.evun.iLE.restful;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlRootElement(name = "DATA")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "TargetDATA ", propOrder = {
"totalCount",
"currPage",
"pageSize",
"currCount",
"list"
})
public class TargetDATA {
@XmlElement(name = "TOTALCOUNT")
protected Integer totalCount;
@XmlElement(name = "CURRPAGE")
protected Integer currPage;
@XmlElement(name = "PAGESIZE")
protected Integer pageSize;
@XmlElement(name = "CURRCOUNT")
protected Integer currCount;
@XmlElementWrapper(name = "LIST")
@XmlElement(name = "STOCK")
protected List<STOCK> list;
public Integer getTotalCount() {
return totalCount;
}
public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount;
}
public Integer getCurrPage() {
return currPage;
}
public void setCurrPage(Integer currPage) {
this.currPage = currPage;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
public Integer getCurrCount() {
return currCount;
}
public void setCurrCount(Integer currCount) {
this.currCount = currCount;
}
public List<STOCK> getList() {
return list;
}
public void setList(List<STOCK> list) {
this.list = list;
}
}
package cn.evun.iLE.restful;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "STOCK", propOrder = {
"factoryCode",
"supplierCode",
"supplierText",
"materialCode",
"materialText",
"materialUom",
"quantity",
"unpassqty",
"onroadqty",
"inspectqty",
"maxqty",
"minqty",
"stockid",
"unitamount",
})
public class STOCK {
@XmlElement(name = "PLANTID")
protected String factoryCode="";
@XmlElement(name = "SUPPLIER_NUM")
protected String supplierCode="";
@XmlElement(name = "SUPPLIER_NAME")
protected String supplierText="";
@XmlElement(name = "PART_NO")
protected String materialCode="";
@XmlElement(name = "PART_NAME")
protected String materialText="";
@XmlElement(name = "UNIT")
protected String materialUom="";
@XmlElement(name = "PASSQTY")
protected Double quantity;
@XmlElement(name = "UNPASSQTY")
protected String unpassqty="";
@XmlElement(name = "ONROADQTY")
protected String onroadqty="";
@XmlElement(name = "INSPECTQTY")
protected String inspectqty="";
@XmlElement(name = "MAXQTY")
protected String maxqty="";
@XmlElement(name = "MINQTY")
protected String minqty="";
@XmlElement(name = "STOCKID")
protected String stockid="";
@XmlElement(name = "UNITAMOUNT")
protected String unitamount="";
public String getFactoryCode() {
return factoryCode;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getSupplierCode() {
return supplierCode;
}
public void setSupplierCode(String supplierCode) {
this.supplierCode = supplierCode;
}
public String getSupplierText() {
return supplierText;
}
public void setSupplierText(String supplierText) {
this.supplierText = supplierText;
}
public String getMaterialCode() {
return materialCode;
}
public void setMaterialCode(String materialCode) {
this.materialCode = materialCode;
}
public String getMaterialText() {
return materialText;
}
public void setMaterialText(String materialText) {
this.materialText = materialText;
}
public String getMaterialUom() {
return materialUom;
}
public void setMaterialUom(String materialUom) {
this.materialUom = materialUom;
}
public Double getQuantity() {
return quantity;
}
public void setQuantity(Double quantity) {
this.quantity = quantity;
}
public String getUnpassqty() {
return unpassqty;
}
public void setUnpassqty(String unpassqty) {
this.unpassqty = unpassqty;
}
public String getOnroadqty() {
return onroadqty;
}
public void setOnroadqty(String onroadqty) {
this.onroadqty = onroadqty;
}
public String getInspectqty() {
return inspectqty;
}
public void setInspectqty(String inspectqty) {
this.inspectqty = inspectqty;
}
public String getMaxqty() {
return maxqty;
}
public void setMaxqty(String maxqty) {
this.maxqty = maxqty;
}
public String getMinqty() {
return minqty;
}
public void setMinqty(String minqty) {
this.minqty = minqty;
}
public String getStockid() {
return stockid;
}
public void setStockid(String stockid) {
this.stockid = stockid;
}
public String getUnitamount() {
return unitamount;
}
public void setUnitamount(String unitamount) {
this.unitamount = unitamount;
}
}
以上为java对象的实体类
package cn.evun.iLE.restful;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class XMLUtil {
public static String convertToXml(Object obj) {
// 创建输出流
StringWriter sw = new StringWriter();
try {
// 利用jdk中自带的转换类实现
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
// 格式化xml输出的格式
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
Boolean.TRUE);
// 将对象转换成输出流形式的xml
marshaller.marshal(obj, sw);
} catch (JAXBException e) {
e.printStackTrace();
}
return sw.toString();
}
}
上面是java对象转化为xml的工具类方法
用到的相关jar包在import里可以看的到
转化后的xml报文如下
<?xml version="1.0" encoding="UTF-8"?>
<DATA>
<TOTALCOUNT>960</TOTALCOUNT>
<CURRPAGE>10</CURRPAGE>
<PAGESIZE>100</PAGESIZE>
<CURRCOUNT>60</CURRCOUNT>
<LIST>
<STOCK>
<PLANTID>I033</PLANTID>
<SUPPLIER_NUM>供应商编码</SUPPLIER_NUM>
<SUPPLIER_NAME>供应商名称</SUPPLIER_NAME>
<PART_NO>物料编码</PART_NO>
<PART_NAME>PART_NAME</PART_NAME>
<UNIT>单位</UNIT>
<PASSQTY>合格库存</PASSQTY>
<UNPASSQTY>不合格库存</UNPASSQTY>
<ONROADQTY>在途数量</ONROADQTY>
<INSPECTQTY>待检数量</INSPECTQTY>
<MAXQTY>最大库存(上限)</MAXQTY>
<MINQTY>最小库存(下限)</MINQTY>
<STOCKID>库存地点</STOCKID>
<UNITAMOUNT>单耗</UNITAMOUNT>
</STOCK>
<STOCK>
...
</STOCK>
</LIST>
</DATA>