xiaoxiaoleemin

          天道酬勤,小小加油
          posts - 19, comments - 12, trackbacks - 0, articles - 0

          用JDOM讀寫xml文件

          Posted on 2007-05-09 18:16 xiaoxiaoleemin 閱讀(1655) 評論(1)  編輯  收藏
                在Java中用JDOM才操作xml文件很方便,需要的代碼量也比其它XML解析器要少的多。下面用一個簡單的例子來說明JDOM讀寫xml的最基本的步驟。假設已經有如下的xml文件student.xml: 
          <Students>
              
          <Student gender ="male">
                  
          <name>Tom</name>
                  
          <age>14</age>
                  
          <phone> 12345678</phone>
              
          </Student>
          </Students>

           下面讀取該文件中的內容并打印輸出:
          SAXBuilder builder = new SAXBuilder(false);
          Document document = null;
          try {
               document = builder.build("student.xml");
            } catch (JDOMException e) {
             e.printStackTrace();
            } catch (IOException e) {
             e.printStackTrace();
            }
            
           Element root = document.getRootElement();
           List students = root.getChildren();
           for( int i=0; i<students.size(); i++)
           {
                Element student = (Element)students.get(i);
                System.out.println("Attribute Gender :" + student.getAttributeValue("gender"));
                List children = student.getChildren();
                for( int j=0; j<children.size(); j++)
                {
                    Element child = (Element)children.get(j);
                    System.out.println("Element name: "+ child.getName() );
                    System.out.println("Element value: " + child.getText());
                } 
            }     
                運行輸出的結果如下:
          Attribute Gender :male
          Element name: name
          Element value: Tom
          Element name: age
          Element value: 
          14
          Element name: phone
          Element value:  
          12345678
                下面插入一個student記錄,然后保存到student.xml文件中:
           
                  //inset a record of student
                  Element student = new Element("Student");
                  student.setAttribute("gender", "female");
                  student.addContent(new Element("name").setText("Mary"));
                  student.addContent(new Element("age").setText("18"));
                  student.addContent(new Element("phone").setText("42483433"));
                  
                  document.getRootElement().addContent(student);
                  
                  try{
                      XMLOutputter outputter = new XMLOutputter();
                      Format fmt = Format.getPrettyFormat();
                      //縮進的長度
                      fmt.setIndent("   ");
                      outputter.setFormat(fmt);
                      outputter.output(root.getDocument(), new BufferedWriter(new FileWriter("student.xml")));
                  }catch(IOException ioe)
                  {
                      ioe.printStackTrace();
                  }
                現在的student.xml內容如下:
             
          <?xml version="1.0" encoding="UTF-8"?>
          <Students>
             
          <Student gender="male">
                
          <name>Tom</name>
                
          <age>14</age>
                
          <phone>12345678</phone>
             
          </Student>
             
          <Student gender="female">
                
          <name>Mary</name>
                
          <age>18</age>
                
          <phone>42483433</phone>
             
          </Student>
          </Students>

          Feedback

          # re: 用JDOM讀寫xml文件  回復  更多評論   

          2009-10-20 16:32 by gfh
          jghj

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


          網站導航:
           
          主站蜘蛛池模板: 洪洞县| 肇源县| 久治县| 龙南县| 明水县| 两当县| 灵璧县| 陕西省| 阜平县| 从化市| 五常市| 江西省| 寿光市| 丹凤县| 丹寨县| 安岳县| 万宁市| 高尔夫| 靖宇县| 大连市| 丹东市| 天津市| 科技| 女性| 巧家县| 博罗县| 太和县| 墨竹工卡县| 吉木萨尔县| 城步| 蒙阴县| 襄垣县| 噶尔县| 法库县| 璧山县| 任丘市| 阿拉善左旗| 正定县| 乌拉特中旗| 青神县| 元阳县|