`

使用 DOM4J 解析一个 XML 文档(二)

XML 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>

<student name="zhangsan">
    <hello age="20">hello</hello>
    <world>world</world>
</student>



package com.syh.xml.dom4j;

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

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.DOMReader;
import org.dom4j.io.SAXReader;

/**
 * 用 Dom4j 解析(读取)一个 XML 文档
 * @author Administrator
 *
 */

public class Dom4jTest2 {

	public static void main(String[] args) throws Exception {
		
		//构造出 Dom4j 的解析器
		SAXReader reader = new SAXReader() ;
		
		// 将文档加载到内存当中 ,并拿到了这个 XML 文档的根节点
		Document doc = reader.read(new File("students2.xml")) ;
		
		//获得 XML 文档根元素节点
		Element rootEle = doc.getRootElement() ;
		System.out.println("root element: " + rootEle.getName());
		
		//注意:这里获取的是子元素,虽然说空白也是一个"孩子",但是它不是子元素,而是文本
		List<Element> childrenEle = rootEle.elements() ;
		System.out.println(childrenEle.size());
		
		//返回所有以 hello 为元素名的子元素
		List<Element> childrenEle2 = rootEle.elements("hello") ;
		System.out.println(childrenEle2.size());
		
		//返回给定标签(如:hello)名的第一个元素 
		Element first = rootEle.element("hello") ;
		System.out.println(first.attributeValue("age"));
		
		
		for(Iterator<Element> iter = rootEle.elementIterator() ; iter.hasNext() ;) {
			Element ele = iter.next() ;
			System.out.println(ele.attributeValue("age"));
		}
		
		System.out.println("-------------------------------------------");
		
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance() ;
		DocumentBuilder db = dbf.newDocumentBuilder() ;
		org.w3c.dom.Document document = db.parse(new File("students2.xml")) ;
		
		DOMReader dReader = new DOMReader() ;
		
		//将JAXP 的 Document 转换为 dom4j 的 Document 
		Document d = dReader.read(document) ;
		
		Element rootEle2 = d.getRootElement() ;
		
		System.out.println(rootEle2.getName());
		
	}
	
}



下面是在控制台上打印的效果:


root element: student
2
1
20
20
null
-------------------------------------------
student

分享到:
评论

相关推荐

    Dom4j解析XML文档.doc

    Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc

    Dom4j解析和生成XML文档

    Dom4j解析和生成XML文档 Dom4j解析和生成XML文档 Dom4j解析和生成XML文档 Dom4j解析和生成XML文档 Dom4j解析和生成XML文档

    使用dom4j解析XML

    dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器修改。与W3C DOM API相比,使用dom4j所包含的解析器的好处是dom4j拥有本地的XPath支持。DOM解析器不支持使用...

    Java使用sax、dom、dom4j解析xml文档

    Java使用sax、dom、dom4j解析xml文档的代码,包含dom4j的jar包。

    dom4j 解析写入xml

    1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件

    利用Dom4j生成XML和解析XML

    Dom4j 是一个功能强大且易于使用的 Java 库,用于生成和解析 XML 文档。在本文中,我们学习了如何使用 Dom4j 生成 XML 文档和解析 XML 文档。使用 Dom4j 可以大大简化 XML 处理的工作,提高开发效率。

    dom4j解析XML文档.ppt

    dom4j解析XML文档.ppt

    读写超大类xml文件,使用dom4j读写xml文件的工具类

    基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。

    dom4j解析xml详解

    很详细的文档 可以借鉴下 希望对你有帮助

    dom4j解析xml.txt

    java dom4j 解析xml文档 使用java操作xml 例如创建 读取 删除 等等

    dom4j解析字符串

    dom4j是Java语言中的一个开源API,用于解析XML文件和字符串。它具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的API文档来解析XML。 dom4j的优点: * 高性能:dom4j使用SAX...

    Java解析xml配置文件,DOM4J解析xml配置文件,提供使用文档和源码下载

    通过dom4j解析xml,修改xml,自动生成xml文件。使用dom4j模拟解析web.xml配置文件,同时考虑到一个url-pattern和多个url-pattern的情况。

    dom4j解析及创建XML文档源码

    自己写的使用dom4j解析及创建xml的源码,主要有两个类 XmlTest.java:用于解析及创建xml Book.java 实体类,测试通过可以使用,当然记得要导入dom4j的jar包 // 创建节点 Element newBook = DocumentHelper....

    利用 dom4j 解析 xml 文档

    自己写的dom4j 解析xml 文档的纤细案例,主要讲解,如何使用dom4j 来读取 或 写入xml 文档。。。

    使用dom4j进行解析XML

    使用dom4j进行解析XML,通过文档助手创建文档节点。向文档节点中添加根元素节点, 向根元素节点上添加子节点

    使用 dom4j 解析 XML

    使用 dom4j 解析 XML;很不错的中文文档

    dom4j解析xml字符串

    // 读取并解析XML文档 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 // // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档 // Document document = reader.read...

    dom4j解析xml

    使用dom4j对xml文档进行增删改. 查询就不用说了,使用elements(....)/element(...)/attributeValue()/getText()等方法

    dom4j 解析(读取) xml 节点数据

    此方法解析xml时,不受xml层级的限制。文件中包含了说明文档,java类,以及所使用到的*.jar。并对代码做了注释让你一目了然……

    dom4j-jar与dom4j解析xml文档介绍

    dom4jAPI文档jar包,以及解析xml文档所用的pdf文档说明

Global site tag (gtag.js) - Google Analytics