您的位置:首页 > 其它

应用JDOM解析XML文件

2015-03-02 21:31 337 查看
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();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: