一、需要导入JDOM的jar包
二、XML文件
三、开始解析
public class JDOMTest {
public static void main(String[] args) {
// 进行对books.xml文件的JDOM解析
// 准备工作
// 1.创建一个SAXBuilder的对象
SAXBuilder builder = new SAXBuilder();
try {
// 2.创建一个输入流,将xml文件加载到输入流中
InputStream in = new FileInputStream("books.xml");
// 3.通过saxBuilder的build方法,将输入流加载到saxBuilder中
Document document = builder.build(in);
// 4.通过document对象获取xml文件的根节点
Element rootElement = document.getRootElement();
// 5.获取根节点下的子节点的List集合
List<Element> bookList = rootElement.getChildren();
for (Element book : bookList) {
System.out.println("==========开始解析第"
+ (bookList.indexOf(book) + 1) + "本书==========");
List<Attribute> attrBook = book.getAttributes();
// 解析book的属性集合
for (Attribute attr : attrBook) {
String attrName = attr.getName();
String attrValue = attr.getValue();
System.out.println("属性:"+attrName+"---值:"+attrValue);
}
List<Element> bookChildren = book.getChildren();
// 对book节点的子节点的节点名以及节点值的遍历
for (Element element : bookChildren) {
System.out.print("节点:"+element.getName()+"---值:");
System.out.println(element.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();
}
}
}
解析结果: