package com;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class JDOMTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//进行对books.xml文件的JDOM解析
//准备工作
//1.创建一个SAXBuilder的对象
SAXBuilder saxBuilder = new SAXBuilder();
//创建一个输入流,将XML文件加载到输入流
InputStream in;
try {
//2、创建一个输入流,将xml文件加载到输入流中
in = new FileInputStream("src/res/books.xml");
//3、通过saxBuilder的Builder方法,将输入流加载到saxBuilder中
Document document = saxBuilder.build(in);
//通过document对象获取xml文件的根节点
Element rootElement = document.getRootElement();
//通过rootElement对象获取xml的子节点
List<Element> bookList= rootElement.getChildren();
//继续进行解析
for(Element book : bookList){
System.out.println("======开始解析第" + (bookList.indexOf(book) + 1) + "本书======");
//解析book属性结合
List<Attribute> attrList = book.getAttributes();
for(Attribute attr : attrList){
//遍历attrList属性名
String attrName = attr.getName();
//遍历attrList属性值
String attrValue = attr.getValue();
System.out.println("属性名: " + attrName + "----属性值 :" + attrValue);
}
//对book节点的节点名和值
List<Element> bookChilds = book.getChildren();
for(Element child : bookChilds){
System.out.print("节点名 : " + child.getName());
System.out.println("----节点值 : " + child.getValue());
}
System.out.println("======结束解析第" + (bookList.indexOf(book) + 1) + "本书======");
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JDOMException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}应用JDOM解析XML文件
原文:http://blog.csdn.net/u012965373/article/details/44024577