利用dom4j解析器对XML文档进行解析

1.使用dom4j对xml文档进行解析,必须使用其核心类SaxReader加载xml文档获得Document,通过Document对象获得文档的根元素,从而进行其他操作。

 2.dom4j的API提供了一些常用的操作:

       ①SaxReader对象:

            read(....): 加载执行xml文档;

        ②Document对象:

            getRootElement( ): 获得根元素;

        ③Element对象:

            elements(...): 获得指定名称的所有子元素,也可以不指定名称;

            element(...): 获得指定名称的第一个子元素,也可以不指定名称;

            getName(): 获得当前元素名称;

            attributeValue(...): 获得指定的属性名的属性值;

            elementText(...): 获得指定名称子元素的文本值;

            getText(): 获得当前元素的文本内容;

3.实例:利用dom4j对下面web.xml进行解析

   web.xml




	
		helloServlet
		xxxxxxxxxx
	
	
		helloServlet
		/hello
	

解析代码:

package xml;

import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

public class TestDom4j {

	@Test
	public void test() throws DocumentException {
		
		//1.获得document
		SAXReader saxReader = new SAXReader();
		
		Document dom=saxReader.read("src\\xml\\web.xml");
		
		//2.获得根元素
		Element rootElement = dom.getRootElement();
		//打印根元素名称
		System.out.println("我是根元素:"+rootElement.getName());
		//打印version值
		System.out.println("我是根元素的版本号:"+rootElement.attributeValue("version"));
		
		//3.获得所有子元素
		List allElements = rootElement.elements();
		
		//4.遍历所有子元素
		for(Element ele : allElements){
			//5.获得servlet元素
			if("servlet".equals(ele.getName())){
				//打印servlet元素信息
				System.out.println("我是servlet元素:"+ele.getName());
				//打印servlet子元素信息
				Element servletName=ele.element("servlet-name");
				Element servletClass = ele.element("servlet-class");
				System.out.println("servlaet-name:"+servletName.getText());
				System.out.println("servlaet-class:"+servletClass.getText());
			}
			
			//其他元素类似 省略。。。。。。
		}
	}
}

打印结果:

利用dom4j解析器对XML文档进行解析_第1张图片


哦了~



你可能感兴趣的:(XML)