java对象转化为xml报文

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>



  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值