java中使用Dom4j解析XML文件

Dom4j也是第三方提供的一个解析XML的jar包,本文是使用的dom4j-1.6.1.jar,代码如下:

package net.yedward.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;

/**
 * 使用Dom4j解析XML
 * 
 * @author YEDWARD
 *
 */
public class DOM4JXMLTest {
	public static void main(String[] args) {
		// 创建SAXReader对象
		SAXReader saxReader = new SAXReader();
		try {
			Document document = saxReader.read(new File("sitemap.xml"));
			Element rootElement = document.getRootElement();
			// 获取迭代器,存储的所有子节点
			Iterator iterator = rootElement.elementIterator();
			while (iterator.hasNext()) {
				Element url = (Element)iterator.next();
				List<Attribute> attributes = url.attributes();
				for (Attribute attribute : attributes) {
					// 获取节点属性名和属性值
					System.out.println(attribute.getName() + ":" + attribute.getValue());
				}
				Iterator ite = url.elementIterator();
				// 获取子节点的节点名和节点值
				while (ite.hasNext()) {
					Element urlChild = (Element)ite.next();
					System.out.println(urlChild.getName() + ":" + urlChild.getStringValue());
				}
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
}

看代码可以知道,dom4j中用到了Iterator迭代器。

本文标题:java中使用Dom4j解析XML文件

本文链接:http://yedward.net/?id=15

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章