jdom解析xml簡單事例

<pre class="java" name="code">/*jdom包的結構包括:

org.jdom               包含了所有的xml文檔要素的java類
org.jdom.adapters        包含了與dom適配的java類
org.jdom.filter           包含了xml文檔的過濾器類
org.jdom.input           包含了讀取xml文檔的類
org.jdom.output          包含了寫入xml文檔的雷
org.jdom.transform       包含了將jdomxml文檔接口轉換爲其他xml文檔接口
org.jdom.xpath           包含了對xml文檔xpath操作的類

*/

 
/*
 *用jdom寫入xml文件的例子
 */

import java.io.*;
import org.jdom.*;
import org.jdom.output.*;

public class WriteXML{

   public void BuildXML() throws Exception{

       Element root, student, number, name, age;
       Attribute attr;

       root = new Element("student-info");   //生成根元素:student-info 
       Document doc = new Document(root);   //將根元素植入文檔doc中
       
       //生成第一個student
       student = new Element("student");     //生成元素:student,該元素中將包含元素number,name,age
       attr = new Attribute("type", "china");//增加屬性
       student.setAttribute(attr);
       number = new Element("number");
       name = new Element("name");
       age = new Element("age");

       number.setText("001");
       name.setText("peter");
       age.setText("24");
       student.addContent(number);
       student.addContent(name);
       student.addContent(age);
       
       root.addContent(student);
       
       //生成第二個student,簡化子節點的構造方式
       student = new Element("student");     //生成元素:student,該元素中將包含元素number,name,age
       student.setAttribute(new Attribute("type", "usa"));
       student.addContent(new Element("number").setText("002"));
       student.addContent(new Element("name").setText("scott"));
       student.addContent(new Element("age").setText("20"));
       
       root.addContent(student);
       
       Format format = Format.getCompactFormat();
       format.setEncoding("gb2312");          //設置xml文件的字符爲gb2312
       format.setIndent("   ");               //設置xml文件的縮進爲4個空格
       
       XMLOutputter XMLOut = new XMLOutputter(format);//在元素後換行,每一層元素縮排四格
       XMLOut.output(doc,new FileOutputStream("studentinfo.xml")); 
 
   }  

   public static void main(String[] args) throws Exception
   {
       WriteXML w = new WriteXML();
       System.out.println("Now we build an XMLdocument.....");
       w.BuildXML();
       System.out.println("finished!");
   }

 

}

<pre class="java" name="code">/*
 *用jdom讀取xml文檔的例子
 */
 
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.*;
import java.io.*;
import java.util.*;

public class ReadXML

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

   {
       SAXBuilder builder = new SAXBuilder();
       Document read_doc = builder.build("studentinfo.xml");
       Element stu = read_doc.getRootElement();
       List list = stu.getChildren("student");
       
       for(int i=0;i<list.size();i++)
       {
           Element e = (Element)list.get(i);
           System.out.println("---------STUDENT--------------");
           System.out.println("type:" + e.getAttributeValue("type"));
           System.out.println("NUMBER:" + e.getChildText("number"));
           System.out.println("NAME:" + e.getChildText("name"));
           System.out.println("AGE:" + e.getChildText("age"));
           System.out.println("------------------------------");
       }      
   }
}


<?xml version="1.0" encoding="gb2312"?>
<student-info>
   <student>
      <number>001</number>
      <name>peter</name>
      <age>24</age>
   </student>
</student-info>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章