<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    根據(jù)對象生成XML文檔

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

    根據(jù)對象生成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 要設(shè)置的 age。
       */
    public void setAge(int age) {
       this.age = age;
    }
    /**
       * @return 返回 gender。
       */
    public String getGender() {
       return gender;
    }
    /**
       * @param gender 要設(shè)置的 gender。
       */
    public void setGender(String gender) {
       this.gender = gender;
    }
    /**
       * @return 返回 name。
       */
    public String getName() {
       return name;
    }
    /**
       * @param name 要設(shè)置的 name。
       */
    public void setName(String name) {
       this.name = name;
    }
    /**
       * @return 返回 phone。
       */
    public String getPhone() {
       return phone;
    }
    /**
       * @param phone 要設(shè)置的 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;
    /**
    * 根據(jù)對象生成XML文檔.
    * 使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder類。
    * 這是JDK 1.4以后才出現(xiàn)的類
    */
    public class Object2XML {
    /**
       * 對象輸出到XML文件
       * @param obj 待輸出的對象
       * @param outFileName 目標XML文件的文件名
       * @return 返回輸出XML文件的路徑
       * @throws FileNotFoundException
       */
    public static String object2XML(Object obj, String outFileName)
        throws FileNotFoundException {
       // 構(gòu)造輸出XML文件的字節(jié)輸出流
       File outFile = new File(outFileName);
       BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outFile));
       // 構(gòu)造一個XML編碼器
       XMLEncoder xmlEncoder = new XMLEncoder(bos);
       // 使用XML編碼器寫對象
       xmlEncoder.writeObject(obj);
       // 關(guān)閉編碼器
       xmlEncoder.close();
      
       return outFile.getAbsolutePath();
    }
    /**
       * 把XML文件解碼成對象
       * @param inFileName 輸入的XML文件
       * @return 返回生成的對象
       * @throws FileNotFoundException
       */
    public static Object xml2Object(String inFileName)
        throws FileNotFoundException {
       // 構(gòu)造輸入的XML文件的字節(jié)輸入流
       BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inFileName));
       // 構(gòu)造一個XML解碼器
       XMLDecoder xmlDecoder = new XMLDecoder(bis);
       // 使用XML解碼器讀對象
       Object obj = xmlDecoder.readObject();
       // 關(guān)閉解碼器
       xmlDecoder.close();
      
       return obj;
    }
    public static void main(String[] args) throws IOException {
       // 構(gòu)造一個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());
    }
    }
    運行結(jié)果:
    C:\java>java Object2XML姓名:wamgwu;   性別:male;   年齡:15;   電話:55556666

    主站蜘蛛池模板: 亚洲国产亚洲片在线观看播放 | 成年人网站在线免费观看| 亚洲综合在线一区二区三区 | 亚洲va国产va天堂va久久| 久久精品一区二区免费看| 亚洲二区在线视频| 亚洲第一永久AV网站久久精品男人的天堂AV | 欧洲精品免费一区二区三区| 一个人看的免费观看日本视频www| 亚洲AV无码日韩AV无码导航| 暖暖在线日本免费中文| av永久免费网站在线观看 | 免费无码黄网站在线看| 亚洲国产日韩视频观看| 4338×亚洲全国最大色成网站| 91精品导航在线网址免费| 亚洲av成人无码网站…| 亚洲色图在线观看| 免费在线一级毛片| 亚洲啪啪免费视频| a级毛片免费观看网站| 亚洲国产最大av| 国产V亚洲V天堂A无码| 麻豆精品国产免费观看| 久9这里精品免费视频| 日韩精品亚洲专区在线影视| 精品日韩亚洲AV无码一区二区三区| 国产特级淫片免费看| 免费AA片少妇人AA片直播| 三上悠亚在线观看免费| 国产精品亚洲а∨无码播放麻豆 | 亚洲狠狠狠一区二区三区| 亚洲熟妇少妇任你躁在线观看无码| 在线a免费观看最新网站| 久久久免费观成人影院| 一本色道久久综合亚洲精品蜜桃冫 | 中文字幕免费观看视频| 精品久久久久久久久亚洲偷窥女厕| 亚洲天堂男人天堂| 中文字幕亚洲一区二区三区| 国产做床爱无遮挡免费视频|