把Java对象转为xml格式

1.在实体类上加@XmlRootElement注解

@XmlRootElement(name = "ROOT") //代表根标签

2.在对应的set方法上加

@XmlElement(name = "TRANS_CODE")  //代表相应的标签
@XmlRootElement(name = "ROOT")
@Document(collation = "User")
public class User implements Serializable {
    @MongoId
    private String id;
    private String TRANS_CODE; //交易码 1
    private String REQ_SSN;  //发起方流水号 1

    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }

    public String getTRANS_CODE() {
        return TRANS_CODE;
    }
    @XmlElement(name = "TRANS_CODE")
    public void setTRANS_CODE(String TRANS_CODE) {
        this.TRANS_CODE = TRANS_CODE;
    }

    public String getREQ_SSN() {
        return REQ_SSN;
    }

    @XmlElement(name = "REQ_SSN")
    public void setREQ_SSN(String REQ_SSN) {
        this.REQ_SSN = REQ_SSN;
    }

3.1建立测试类进行测试 将java对象转成xml形式输出

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
public class Test {
    /**
     * 将java对象转xml形式输出
     */
    public static void main(String[] args)throws Exception{
        // TODO Auto-generated method stub

        JAXBContext jbt = JAXBContext.newInstance(ClassRoom.class);
        
        ClassRoom cr = new ClassRoom(1, "一班", new Student(10, "张三", 22));
        
        Marshaller ms = jbt.createMarshaller();
        ms.marshal(cr, System.out);
       
    }

}

3.2 将xml转成java对象 (主要代码如下)

String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><classRoom><classRoomId>1</classRoomId><classRoomName>一班</classRoomName><student><age>22</age><id>10</id><name>张三</name></student></classRoom>";
        
        JAXBContext unjbt = JAXBContext.newInstance(ClassRoom.class);
        
        Unmarshaller unms = unjbt.createUnmarshaller();
        
        ClassRoom uncr =(ClassRoom) unms.unmarshal(new StringReader(xml));
        
        System.out.println(uncr.getClassRoomId()+uncr.getClassRoomName());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值