DOM4j解析xml文件

jar包下载

要先导入jdom4j的jar包

用jdom4j解析xml文件的步骤:

    1):创建SAXReader对象

    2):通过SAXReader对象的read方法来读取xml文件

    3):然后通过document对象的getRootElement方法来获取根节点

    4):通过element对象的elementIterator方法获取迭代器

    5):遍历迭代器,获取根节点中的信息

package com.xml;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.Attributes;

public class Dom4JTest {
	public static void main(String[] args) {
		//创建SAXReader对象
		SAXReader reader=new SAXReader();
		try {
			//通过Reader对象的read方法加载books.xml
			Document document=reader.read(new File("books.xml"));
			//获取根节点
			Element bookstore=document.getRootElement();
			//通过element对象的elementIterator方法获取迭代器
			Iterator it=bookstore.elementIterator();
			//遍历迭代器,获取根节点中的信息
			while(it.hasNext()){
				System.out.println("---开始遍历某本书----");
				Element book=(Element)it.next();
				//获取book的属性名与值
				List<Attribute> bookatts=book.attributes();
				for(Attribute att:bookatts){
					System.out.print("属性名为:"+att.getName());
					System.out.println("-->属性值为:"+att.getValue());
				}
				//遍历子结点
			     Iterator NodeList=book.elementIterator();
			     
			     while(NodeList.hasNext()){
			    	 Element bookChild=(Element)NodeList.next();
			    	 System.out.println("节点名为:"+bookChild.getName());
			    	 System.out.println("-->节点值为:"+bookChild.getStringValue());
			     }
				System.out.println("======结束遍历某本书=====");
			}
			
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}

学习完了四种解析方式之后,我们对四种方式来进行一下分析

    1:基础方法:DOM,SAX  --->基于事件驱动的解析方式

        扩展方法:JDOM,DOM4J

    2:JDOM仅适用具体类而不适用接口,API大量使用了collections类

    3:DOM4J

        1):JDOM的一种智能分支,它合并了许多超出基本xml文档表示的功能

        2):DOM4J使用接口和抽象基本类方法,是一个优秀的java XML API

        3):具有性能优异,灵活性好,功能强大和极端易用使用的特点

    

        

阅读更多
文章标签: java xml dom4j
个人分类: xml
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭