JaxbUtil-2动态凭借xml文件

 

 

package com.tarena.xmlbean.test.testbean;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "bill")
public class Bill {
    @XmlElement
    private Billhead billhead;

    public Billhead getBillhead() {
        return billhead;
    }

    public void setBillhead(Billhead billhead) {
        this.billhead = billhead;
    }
}
 

package com.tarena.xmlbean.test.testbean;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "billhead")
public class Billhead {
    @XmlElement
    private String creater;
    @XmlElement
    private String pk_group;
    @XmlElement
    private String pk_org;
    @XmlElement
    private String officialprintuser;

    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public String getPk_group() {
        return pk_group;
    }

    public void setPk_group(String pk_group) {
        this.pk_group = pk_group;
    }

    public String getPk_org() {
        return pk_org;
    }

    public void setPk_org(String pk_org) {
        this.pk_org = pk_org;
    }

    public String getOfficialprintuser() {
        return officialprintuser;
    }

    public void setOfficialprintuser(String officialprintuser) {
        this.officialprintuser = officialprintuser;
    }
}
 

package com.tarena.xmlbean.test.testbean;

import javax.xml.bind.annotation.*;

import java.util.List;
/**
 *  * businessunitcode="" filename="" 
 * groupcode="001" isexchange="Y" 
 * replace="Y" roottag="" sender="ERP">
 * @author 公共
 *  第一行都是属性,其他根目录下的都是元素
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ufinterface")//设置根目录
public class Ufinterface {
    @XmlAttribute //属性
    private String account;
    @XmlAttribute //属性
    private String billtype;
    @XmlAttribute //属性
    private String businessunitcode;
    @XmlAttribute //属性
    private String filename;
    @XmlAttribute //属性
    private String groupcode;
    @XmlAttribute
    private String isexchang;
    @XmlAttribute
    private String replace;
    @XmlAttribute
    private String roottag;
    @XmlAttribute
    private String sender;
    @XmlElement(name = "bill")
    private List billList;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getBilltype() {
        return billtype;
    }

    public void setBilltype(String billtype) {
        this.billtype = billtype;
    }

    public String getBusinessunitcode() {
        return businessunitcode;
    }

    public void setBusinessunitcode(String businessunitcode) {
        this.businessunitcode = businessunitcode;
    }

    public String getFilename() {
        return filename;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public String getGroupcode() {
        return groupcode;
    }

    public void setGroupcode(String groupcode) {
        this.groupcode = groupcode;
    }

    public String getIsexchang() {
        return isexchang;
    }

    public void setIsexchang(String isexchang) {
        this.isexchang = isexchang;
    }

    public String getReplace() {
        return replace;
    }

    public void setReplace(String replace) {
        this.replace = replace;
    }

    public String getRoottag() {
        return roottag;
    }

    public void setRoottag(String roottag) {
        this.roottag = roottag;
    }

    public String getSender() {
        return sender;
    }

    public void setSender(String sender) {
        this.sender = sender;
    }

    public List getBillList() {
        return billList;
    }

    public void setBillList(List billList) {
        this.billList = billList;
    }
}
 

 

 

aatext.xml

        
        
        
        ERP//后补的        
        001
        0101
        ERP
        "+nowDate+"
        F0
        F0-Cxx-02
        ERP
        17
        0
        1
    //    2017-08-01 14:36:12
        "+nowDate+"//起租日期odate=====================================================起租日期odate
        ERP
        ERP
        "+nowDate+"
        1
        10
        "+globalStartRentBean.getNcdeptno()+"
        "+globalStartRentBean.getBcode()+"//9项目经理
        "+globalStartRentBean.getCcodetrust()+"
        CNY
        0
        "+globalStartRentBean.getPcode()+"
        "+globalStartRentBean.getInvcode()+"//6单据号
        "+globalStartRentBean.getIndustry()+"
        "+globalStartRentBean.getPicode()+"
        "+globalStartRentBean.getPcode()+"
        "+globalStartRentBean.getLeas_type()+"
        "+globalStartRentBean.getChangesign()+"
                
                
                "+globalStartRentBean.getCcodetrust()+"
                
                
            
                N
                F0
                ys
                F0-Cxx-02
                "+Odate+"
                0
                1
                1
                CNY
                1
                111
                "+globalStartRentBean.getBcode()+"//9项目经理
                "+globalStartRentBean.getRmb()+"
                "+globalStartRentBean.getRmb()+"
                "+globalStartRentBean.getRmb()+"
                "+globalStartRentBean.getRmb()+"
                "+(newRemark_2==null?"0.00":newRemark_2)+"
                "+(globalStartRentBean.getRemark_o().equals("营业税")?"1":"2")+"
                "+globalStartRentBean.getInvtype()+"
                "+globalStartRentBean.getOrdcode()+"
                "+(newRemark_2==null?"0.00":newRemark_2)+"
                "+(newRemark_2==null?"0.00":newRemark_2)+"
                

                

        

        

        

@XmlAccessorType(XmlAccessType.FIELD)    
@XmlRootElement(name = "ufinterface")//设置根目录

@XmlAttribute //属性指的节点中的一些属性

@XmlElement(name = "bill") //元素--指的xml节点(可以这样理解:元素是成对的,属性是单个的)

 

util

package com.tarena.xmlbean.util;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader;
import java.io.StringWriter;

public class JaxbUtil {
    public static String convertToXml(Object obj) {
        return convertToXml(obj, "UTF-8");//EN:Setting the XML encoding format   CH:设置xml中的编码格式
    }

    public static String convertToXml(Object obj, String encoding) {
        String result = null;
        try {
            JAXBContext context = JAXBContext.newInstance(obj.getClass());
            Marshaller marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
            StringWriter writer = new StringWriter();
            marshaller.marshal(obj, writer);
            result = writer.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static T converyToJavaBean(String xml, Class c) {
        T t = null;
        try {
            JAXBContext context = JAXBContext.newInstance(c);
            Unmarshaller unmarshaller = context.createUnmarshaller();
            t = (T) unmarshaller.unmarshal(new StringReader(xml));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return t;
    }
}

 

 

你可能感兴趣的:(JaxbUtil-2动态凭借xml文件)