import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
import java.util.List;
/**
* <p>Title: 使用JDOM解析XML</p>
* <p>Description: 通過使用JDOM接口解析book.xml文件</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: JDOMParsePage.java</p>
* @version 1.0
*/
public class JDOMParsePage {
/**
*<br>方法說明:構造器,實現XML文件解析
*<br>輸入參數:
*<br>返回類型:
*/
public JDOMParsePage() {
Document docJDOM;
//利用SAX建立Document
SAXBuilder bSAX = new SAXBuilder(false);
try {
//生成document對象
docJDOM = bSAX.build(new File("book.xml"));
}catch (JDOMException e) {
e.printStackTrace();
return;
}
//得到Document的根(節點名:book)
Element root = docJDOM.getRootElement();
System.out.println("根節點標記名:" + root.getName());
System.out.println("*****下面遍歷XML元素*****");
//獲得page元素集合
List list = root.getChildren("page");
//遍歷page元素
for (int i=0; i < list.size() ; i++) {
//獲得page的元素
Element element = (Element)list.get(i);
//獲得ID屬性
String id = element.getAttributeValue("id");
//獲得title元素集合
List titleList = element.getChildren("title");
//獲得title第一個元素
Element titleElement = (Element)titleList.get(0);
//獲得title元素的第一個值
String title = titleElement.getText();
//獲得file元素集合
List fileList = element.getChildren("file");
//獲得file第一個元素
Element fileElement = (Element)fileList.get(0);
//獲得file元素的第一個值
String file = fileElement.getText();
System.out.println("ID:" + id + " " +
"標題:" + title + " " +
"文件:" + file);
}
}
/**
*<br>方法說明:主方法,啟動解析器
*<br>輸入參數:
*<br>返回類型:
*/
public static void main(String[] args) {
JDOMParsePage myReader = new JDOMParsePage();
}
}