<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>