<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    對象與XML的轉換

    Posted on 2009-12-20 20:40 啥都寫點 閱讀(287) 評論(0)  編輯  收藏 所屬分類: J2SE
         本例介紹如何將一個對象輸出到XML文檔,再從XML文檔中讀取到內存,把一個描述學生的對象輸出到XML文檔,然后從XML文檔中讀取學生信息到內存。

          java.beans.XMLEncoder是XML編碼器,它的writeObject方法能把對象以XML的格式輸出到文件中。
          java.beans.XMLDecoder是XML解碼器,它的readObject方法能把XML文檔的內容讀到對象中。注意,它只能解碼用XMLEncoder生成的XML文檔。
          XMLEncoder和XMLDecoder相當于對象的序列化和反序列化,只不過它以XML的格式序列化對象。


    import java.beans.XMLDecoder;
    import java.beans.XMLEncoder;
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    /**
     * 根據對象生成XML文檔.
     * 使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder類。
     * 這是JDK 1.4以后才出現的類
     
    */

    public class Object2XML {

        
    /**
         * 對象輸出到XML文件
         * 
    @param obj    待輸出的對象
         * 
    @param outFileName    目標XML文件的文件名
         * 
    @return    返回輸出XML文件的路徑
         * 
    @throws FileNotFoundException
         
    */

        
    public static String object2XML(Object obj, String outFileName)
                
    throws FileNotFoundException {
            
    // 構造輸出XML文件的字節輸出流
            File outFile = new File(outFileName);
            BufferedOutputStream bos 
    = new BufferedOutputStream(
                    
    new FileOutputStream(outFile));
            
    // 構造一個XML編碼器
            XMLEncoder xmlEncoder = new XMLEncoder(bos);
            
    // 使用XML編碼器寫對象
            xmlEncoder.writeObject(obj);
            
    // 關閉編碼器
            xmlEncoder.close();
            
            
    return outFile.getAbsolutePath();
        }


        
    /**
         * 把XML文件解碼成對象
         * 
    @param inFileName    輸入的XML文件
         * 
    @return    返回生成的對象
         * 
    @throws FileNotFoundException
         
    */

        
    public static Object xml2Object(String inFileName)
                
    throws FileNotFoundException {
            
    // 構造輸入的XML文件的字節輸入流
            BufferedInputStream bis = new BufferedInputStream(
                    
    new FileInputStream(inFileName));
            
    // 構造一個XML解碼器
            XMLDecoder xmlDecoder = new XMLDecoder(bis);
            
    // 使用XML解碼器讀對象
            Object obj = xmlDecoder.readObject();
            
    // 關閉解碼器
            xmlDecoder.close();
            
            
    return obj;
        }


        
    public static void main(String[] args) throws IOException {

            
    // 構造一個StudentBean對象
            StudentBean student = new StudentBean();
            student.setName(
    "wamgwu");
            student.setGender(
    "male");
            student.setAge(
    15);
            student.setPhone(
    "55556666");
            
            
    // 將StudentBean對象寫到XML文件
            String fileName = "AStudent.xml";
            Object2XML.object2XML(student, fileName);
            
    // 從XML文件讀StudentBean對象
            StudentBean aStudent = (StudentBean)Object2XML.xml2Object(fileName);
            
    // 輸出讀到的對象
            System.out.println(aStudent.toString());
        }

    }


                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 污污网站免费观看| 一级毛片免费播放试看60分钟| 成年人视频免费在线观看| 久久精品国产亚洲av麻豆图片| 日韩视频免费在线| 一本大道一卡二大卡三卡免费| 亚洲天堂一区二区| 日本特黄a级高清免费大片| 中国性猛交xxxxx免费看| 亚洲另类古典武侠| 亚洲精品国产综合久久一线| 91香蕉国产线观看免费全集| 亚洲国产AV一区二区三区四区| 亚洲色婷婷综合久久| 久久精品网站免费观看| aa午夜免费剧场| 亚洲一级毛片中文字幕| AV在线播放日韩亚洲欧| 永久免费毛片在线播放| 成全视成人免费观看在线看 | 亚洲AV无码精品蜜桃| 免费人成视频x8x8入口| 一本岛高清v不卡免费一三区| 四虎国产精品永免费| 亚洲国产日韩综合久久精品| 亚洲亚洲人成综合网络| 日韩在线视频免费看| 99re免费在线视频| 国产成人精品免费大全| 亚洲精品无码久久久久APP| 亚洲午夜未满十八勿入| 久久亚洲av无码精品浪潮| 在线视频观看免费视频18| 免费91最新地址永久入口| 亚洲aⅴ无码专区在线观看 | 午夜神器成在线人成在线人免费 | 午夜不卡久久精品无码免费| 日日摸夜夜添夜夜免费视频| 亚洲AV成人一区二区三区在线看| 亚洲毛片在线观看| 伊人久久综在合线亚洲91|