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

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

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

    posts - 0, comments - 77, trackbacks - 0, articles - 356
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    根據對象生成XML文檔

    Posted on 2007-09-07 15:51 semovy 閱讀(642) 評論(0)  編輯  收藏 所屬分類: JAVA應用

    根據對象生成XML文檔. 使用Java提供的java.beans.XMLEncoder
    和java.beans.XMLDecoder類
    一、生成的xml文件如下:AStudent.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <java version="1.5.0" class="java.beans.XMLDecoder">
    <object class="StudentBean">
       <void property="age">
         <int>15</int>
       </void>
       <void property="gender">
         <string>male</string>
       </void>
       <void property="name">
         <string>wamgwu</string>
       </void>
       <void property="phone">
         <string>55556666</string>
       </void>
    </object></java>
    二、描述學生的JavaBean

    /**
    * 描述學生的JavaBean
    */
    public class StudentBean {
    // 學生姓名
    private String name;
    // 學生性別
    private String gender;
    // 學生年齡
    private int age;
    // 學生電話號碼
    private String phone;
    public String toString(){
       StringBuffer sb = new StringBuffer();
       sb.append("姓名:").append(this.name).append(";   ");
       sb.append("性別:").append(gender).append(";   ");
       sb.append("年齡:").append(age).append(";   ");
       sb.append("電話:").append(phone);
       return sb.toString();
    }

    /**
       * @return 返回 age。
       */
    public int getAge() {
       return age;
    }
    /**
       * @param age 要設置的 age。
       */
    public void setAge(int age) {
       this.age = age;
    }
    /**
       * @return 返回 gender。
       */
    public String getGender() {
       return gender;
    }
    /**
       * @param gender 要設置的 gender。
       */
    public void setGender(String gender) {
       this.gender = gender;
    }
    /**
       * @return 返回 name。
       */
    public String getName() {
       return name;
    }
    /**
       * @param name 要設置的 name。
       */
    public void setName(String name) {
       this.name = name;
    }
    /**
       * @return 返回 phone。
       */
    public String getPhone() {
       return phone;
    }
    /**
       * @param phone 要設置的 phone。
       */
    public void setPhone(String phone) {
       this.phone = phone;
    }
    }三、主程序   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());
    }
    }
    運行結果:
    C:\java>java Object2XML姓名:wamgwu;   性別:male;   年齡:15;   電話:55556666

    主站蜘蛛池模板: 成人免费夜片在线观看| 亚洲色欲色欱wwW在线| 在线视频网址免费播放| 又粗又大又长又爽免费视频 | 久久精品国产亚洲AV麻豆王友容| 色老头综合免费视频| 亚洲精品国产精品乱码不卞| 羞羞视频在线观看免费| 综合亚洲伊人午夜网 | 成人免费淫片在线费观看| 亚洲天堂免费在线| 成人毛片18女人毛片免费视频未| 最新亚洲精品国偷自产在线| 成人免费看黄20分钟| 色欲aⅴ亚洲情无码AV| 久久久久亚洲AV成人网人人软件| 精选影视免费在线 | 亚洲日本一区二区三区| 国产精品免费网站| 国产精品亚洲а∨无码播放麻豆 | 成全视频免费高清| 视频一区二区三区免费观看| 久久久久亚洲AV无码专区网站| 十八禁在线观看视频播放免费| 亚洲五月激情综合图片区| 成人免费一级毛片在线播放视频 | 亚洲爆乳成av人在线视菜奈实| 亚洲精品99久久久久中文字幕 | 免费看的黄色大片| 国产成人无码免费网站| 亚洲精品天天影视综合网| 成年人网站免费视频| 黑人粗长大战亚洲女2021国产精品成人免费视频| 亚洲AV无码专区日韩| 久久免费国产视频| 亚洲av无码一区二区三区天堂 | 亚洲男人av香蕉爽爽爽爽| 三年片在线观看免费观看大全一| 中文文字幕文字幕亚洲色| 亚洲日韩人妻第一页| 18国产精品白浆在线观看免费|