解決之道

          個人日記
          posts - 33, comments - 1, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          用JAVA創建,讀取XML文件

          Posted on 2008-07-31 15:45 閱讀(244) 評論(0)  編輯  收藏
          首先導入dom4j.jar包,這個包里面有我們創建XML文件需要用到的類,比如常用的有:

          Document:
          import org.dom4j.Document;
          Import org.dom4j.DocumentHelper;
          DocumentHelper.createDocument(); 獲得文檔對象
          addElement方法增加根節點
          getRootElement方法獲得根節點
          asXML方法將文檔對象包含的內容轉換為字符
          addComment方法在增加注釋
          getPath方法獲得路徑,根節點為/

          Element:
          import org.dom4j.Elemet;
          addElement方法增加子節點
          addAttribute方法增加屬性
          getName方法獲得節點名稱
          asXML方法將文檔對象包含的內容轉換為字符
          addComment方法在增加注釋
          getPath方法獲得路徑
          addText方法增加節點值
          setText方法設置節點值
          addNamespace方法增加命名空間
          attributeCount方法獲得屬性個數
          attributeValue方法獲得屬性值
          elementText方法指定元素的值

          Attribute:
          Import org.dom4j.Attribute;
          getName方法獲得屬性名稱
          getValue方法獲得屬性值
          setValue方法設置屬性值

          Node:
          import org.dom4j.Node;
          Document和Element中selectSingleNode方法獲得對象
          setName方法設置節點名稱
          getText方法獲得節點值
          setText方法設置節點值

          List,Iterator:
          import java.util.List;
          Document和Element中selectNodes方法獲得對象
          import java.util.Iterator;
          List中iterator方法,Iterator中hasNext方法和next方法來獲得節點或屬性

          XMLWriter:
          import org.dom4j.io.XMLWriter;
          Writer方法與OutputStream(FileOutputStream),Writer(FileWriter)
          write方法寫對象
          close方法關閉寫對象

          OutputFormat:
          import org.dom4j.io.OutputFormat;
          setEncoding方法設置字符集
          createCompactFormat方法為緊湊格式,默認
          createPrettyFormat方法為縮進格式

          SAXReader:
          import org.dom4j.io.SAXReader ;
          read方法與File

          下面,我們用這些類來實現一下創建XML文件的簡單過程:

          ?1package?Test;
          ?2
          ?3import?java.io.*;
          ?4import?org.dom4j.*;
          ?5import?org.dom4j.io.*;
          ?6
          ?7public?class?xmlTest?{
          ?8????
          ?9????public?void?writeXML(){
          10????????Document?doc?=?org.dom4j.DocumentHelper.createDocument();
          11????????//創建節點操作對象
          12????????Element?rootElement?=?doc.addElement("student");
          13????????//創建根節點對象rootElement,標簽名為student
          14????????
          15????????rootElement.setText("hello");
          16????????//對節點設置內容,后面讀取XML文件的時候可以把他取出來
          17????????rootElement.addAttribute("id","030511111");
          18????????//設置節點屬性
          19????????Element?name?=?rootElement.addElement("name");
          20????????//添加子節點
          21????????name.setText("xiaozhang");
          22????????//設置子節點內容
          23????????Element?age?=?rootElement.addElement("age");
          24????????age.setText("23");
          25????????
          26????????try?{
          27????????????OutputFormat?fmt?=?new?OutputFormat();
          28????????????//創建輸出格式對象
          29????????????fmt.setEncoding("gb2312");
          30????????????XMLWriter?writer?=?new?XMLWriter(fmt);
          31????????????//以輸出格式為參數,創建XML文件輸出對象
          32????????????OutputStream?out?=?new?FileOutputStream("d:\\test.xml");
          33????????????//創建輸出流..
          34????????????writer.setOutputStream(out);
          35????????????//設置輸出流
          36????????????writer.write(doc);
          37????????????//輸出doc對象,即形成XML文件
          38????????}
          ?catch?(Exception?e)?{
          39
          40????????????e.printStackTrace();
          41????????}

          42????????
          43????}

          44????
          45????public?void?readXML(){
          46????????SAXReader?reader?=?new?SAXReader();
          47????????//創建讀取對象
          48????????Document?doc;
          49????????try?{
          50????????????doc?=?reader.read(new?File("d:\\test.xml"));
          51????????????//從test.xml文件中取得節點操作對象
          52????????????Element?name?=?doc.getRootElement();
          53????????????//取得節點對象
          54????????????System.out.println(name.getText());
          55????????????//輸出節點內容
          56????????}
          ?catch?(Exception?e)?{
          57????????????e.printStackTrace();
          58????????}

          59????}

          60????
          61????public?static?void?main(String[]?args){
          62????????xmlTest?s?=?new?xmlTest();
          63????????s.writeXML();
          64????????s.readXML();????
          65????}

          66}

          67


          久城 2006-11-10 08:53 發表評論

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 上饶市| 工布江达县| 榆中县| 清流县| 南澳县| 漳平市| 郸城县| 介休市| 鄱阳县| 巴南区| 图片| 磐石市| 稻城县| 科技| 静宁县| 沁源县| 连云港市| 滁州市| 太仆寺旗| 沛县| 汽车| 社会| 玉树县| 勐海县| 弋阳县| 泰来县| 汉阴县| 英山县| 会昌县| 伊通| 平阳县| 永仁县| 明水县| 施甸县| 沁源县| 湖口县| 惠州市| 富宁县| 轮台县| 塘沽区| 滦平县|