加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML和Java对象之间的转换

发布时间:2020-12-16 08:21:43 所属栏目:百科 来源:网络整理
导读:当xml文件和java对象对应起来的时候,使用一些工具类可以方便的实现xml和java对象之间的互相转化。 package me .mymilkbottles .JavaXML ; import java .io .File ; import java .util .ArrayList ; import java .util .List ; import javax .xml .bind .JAX

当xml文件和java对象对应起来的时候,使用一些工具类可以方便的实现xml和java对象之间的互相转化。

package me.mymilkbottles.JavaXML;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

import org.junit.Ignore;
import org.junit.Test;

import me.mymilkbottles.pojo.User;

public class JavaXML {

    @Test
    @Ignore
    public void testJavaToXML() throws Exception {
        File file = new File("user.xml");
        // 创建JAXBContext上下文对象
        JAXBContext jaxbContext = JAXBContext.newInstance(UserClass.class);
        // 创建Marshaller转换对象
        Marshaller marshaller = jaxbContext.createMarshaller();
        UserClass userClass = new UserClass("user_name","pass_word",5.0001,7);
        marshaller.marshal(userClass,file);
    }

    @Test
    @Ignore
    public void testXMLToJava() throws Exception {
        File file = new File("user.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(UserClass.class);
        Unmarshaller marshaller = jaxbContext.createUnmarshaller();
        UserClass userClass = (UserClass) marshaller.unmarshal(file);
        System.out.println(userClass);
    }

    @Test
    @Ignore
    public void testComplexJavaToXML() throws Exception {
        File file = new File("user.xml");
        // 创建JAXBContext上下文对象
        JAXBContext jaxbContext = JAXBContext.newInstance(ComplexUser.class);
        // 创建Marshaller转换对象
        Marshaller marshaller = jaxbContext.createMarshaller();
        Address address = new Address();
        address.setAddressId(12345678);
        address.setCity("hello_city");
        address.setSchool("hello_school");

        List<User> list = new ArrayList<User>();
        for (int i = 0; i < 3; ++i) {
            User user = new User();
            user.setId(10001);
            user.setName("hello_user");
            user.setPassword("000036");
            list.add(user);
        }

        ComplexUser complexUser = new ComplexUser();
        complexUser.setId(199000);
        complexUser.setAddress(address);
        complexUser.setName("hello_complexUser");
        complexUser.setList(list);

        marshaller.marshal(complexUser,file);
    }

    @Test
    public void testXMlToJava() throws Exception {
        File file = new File("user.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(ComplexUser.class);
        Unmarshaller marshaller = jaxbContext.createUnmarshaller();
        ComplexUser userClass = (ComplexUser) marshaller.unmarshal(file);
        System.out.println(userClass);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读