Jaxb2 轉換XML文檔——完成Java對象和XML相互轉換__Java

來源:互聯網
上載者:User
Jaxb2 轉換XML文檔——完成Java對象和XML相互轉換

這次介紹Jaxb2完成xml的轉換,Jaxb2使用了JDK的新特性。如:Annotation、GenericType等,Jaxb2需要在即將轉換的JavaBean中添加annotation註解。下面我們就來看看Jaxb2是怎麼樣完成Java對象到XML之間的相互轉換吧。

一、 準備工作

1、 資源準備

a) 官方文檔:http://www.oracle.com/technetwork/articles/javase/index-140168.html

b) Jar包下載:http://jaxb.java.net/2.2.3/JAXB2_20101209.jar

如果你有添加jdk的jar到工程中,在rt.jar中就帶有jaxb2。一般情況下不用自己添加jaxb2的jar。

2、 程式前代碼準備

package com.hoo.test;
 
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.hoo.entity.Account;
import com.hoo.entity.AccountBean;
import com.hoo.entity.Birthday;
import com.hoo.entity.ListBean;
import com.hoo.entity.MapBean;
 
/**
 * function:Jaxb2 完成Java和XML的編組、解組
 * @author hoojo
 * @createDate 2011-4-25 上午11:54:06
 * @file Jaxb2Test.java
 * @package com.hoo.test
 * @project WebHttpUtils
 * @blog http://blog.csdn.net/IBM_hoojo
 * @email hoojo_@126.com
 * @version 1.0
 */
public class Jaxb2Test {
    private JAXBContext context = null;
    
    private StringWriter writer = null;
    private StringReader reader = null;
    
    private AccountBean bean = null;
    
    @Before
    public void init() {
        bean = new AccountBean();
        bean.setAddress("北京");
        bean.setEmail("email");
        bean.setId(1);
        bean.setName("jack");
        Birthday day = new Birthday();
        day.setBirthday("2010-11-22");
        bean.setBirthday(day);
        
        try {
            context = JAXBContext.newInstance(AccountBean.class);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    @After
    public void destory() {
        context = null;
        bean = null;
        try {
            if (writer != null) {
                writer.flush();
                writer.close();
            }
            if (reader != null) {
                reader.close();
            }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.