1. 程式人生 > >XML之dom4j解析器

XML之dom4j解析器

解析原理

常用API

1.  SaxReader物件

        a)   read(...)  載入執行xml文件

2.  Document物件

        a)   getRootElement( )   獲得根元素

3.  Element物件

        a)   elements(...)  獲得指定名稱的所有子元素,可以不指定名稱

        b)   element(...)            獲得指定名稱第一個子元素,可以不指定名稱

        c)   getName()             獲得當前元素的元素名

        d)   attributeValue(...)  獲得指定屬性名的屬性值

        e)   elementText(...)     獲得指定名稱子元素的文字值

        f)   getText()                獲得當前元素的文字內容


解析程式碼
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 testReadWebXML() {
		try {
			// 1.獲取解析器
			SAXReader saxReader = new SAXReader();
			// 2.獲得document文件物件
			Document doc = saxReader.read("src/cn/mark/xml/schema/web.xml");
			// 3.獲取根元素
			Element rootElement = doc.getRootElement();
			// System.out.println(rootElement.getName());//獲取根元素的名稱
			// System.out.println(rootElement.attributeValue("version"));//獲取根元素中的屬性值
			// 4.獲取根元素下的子元素
			List<Element> childElements = rootElement.elements();
			// 5.遍歷子元素
			for (Element element : childElements) {
				//6.判斷元素名稱為servlet的元素
				if ("servlet".equals(element.getName())) {
					//7.獲取servlet-name元素
					Element servletName = element.element("servlet-name");
					//8.獲取servlet-class元素
					Element servletClass = element.element("servlet-class");
					System.out.println(servletName.getText());
					System.out.println(servletClass.getText());
				}
			}

		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}

}