把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());
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java对象转换为XML格式可以通过Java中的JAXB(Java Architecture for XML Binding)实现。JAXB提供了将Java对象XML之间相互转换的功能。 以下是一个简单的Java代码示例,演示如何将Java对象转换为XML格式: ```java import javax.xml.bind.JAXBContext; import javax.xml.bind.Marshaller; import java.io.StringWriter; public class ObjectToXml { public static void main(String[] args) throws Exception { // 创建一个Person对象 Person person = new Person(); person.setName("张三"); person.setAge(20); // 创建JAXBContext对象 JAXBContext context = JAXBContext.newInstance(Person.class); // 创建Marshaller对象 Marshaller marshaller = context.createMarshaller(); // 设置Marshaller的属性 marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // 将Java对象转换为XML格式 StringWriter writer = new StringWriter(); marshaller.marshal(person, writer); String xml = writer.toString(); System.out.println(xml); } } // 定义一个Person类 import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } ``` 输出结果为: ``` <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <person> <name>张三</name> <age>20</age> </person> ``` 在这个例子中,我们创建了一个Person对象,并使用JAXBContext和Marshaller将其转换为XML格式。我们还使用了@XmlRootElement注释来指定根元素的名称。最后,我们将XML字符串打印到控制台上。 注意:在使用JAXB进行对象转换时,必须在Java类中使用JAXB注释,以便JAXB可以正确地将Java对象转换为XML格式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值