JavaSE_XML解析__DOM4j_解析原理01

一、下載並導入java4j-jar包

二、具體實現步驟

a) 定義類:獲取XML解析器new SAXReader()

i. SXAReader reader = new SXAReader()

b) 獲取XML文件(獲得Document文檔)   read(方法)

i. Document document = reader.read(new File(“地址”));

c) 獲得XML文檔的根節點的地址(即獲得根元素)---獲得的唯一一個使用 getRootElement()

i. Element elemrntRoot =  document.getRootElement();

ii. 方法:

1. 獲得根元素的名字:elementRoot.getName();

d) 獲得根元素的子元素的集合 elementRoot.Elements();----獲得一個list<Element>集合

i. List<Element>  listElements = elementRoot.Elements();

e) 遍歷這個子元素集合:for(Element e:listElements){}

i. For(Element e:listElements){} ------e:表示每個根元素的子元素

1. 獲得子元素的值  e.attributeValue(“屬性名”)

a) String id = e.attributeValue(“id”);

2. 獲得子元素的屬性 e.attrubuteText(“屬性名”)

a) String name = e.elementText(“name”);

b) String age = e.elementText(“age”);

c) String addrsss = e.elementText(“address”);

3. 獲取完畢

例子:

package com.lichao.java4j;

import java.io.File;

import java.util.List;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public class Java4jDome {

public static void main(String[] args) {

try {

//創建一個讀取XML的解析器 SAXReader reader = new SAXReader();

SAXReader reader = new SAXReader();

//Document document = reader.read(new File("地址"));----和哪個XML文件關聯並且獲得該文檔

Document document = reader.read(new File("D:\\WorkSpace\\Java4j\\student.XML"));

//獲得該文檔的根節點的元素的地址--Element elementRoot = document.getRootElement();

Element elementRoot =  document.getRootElement();

//獲得根元素地址的名字  elementRoot.getName();

System.out.println(elementRoot.getName());

//獲得根節點裏的所有字節點返回一個list的集合

//List<Element> listElements =  elementRoot.elements();

List<Element> listElements =  elementRoot.elements();

for(Element element:listElements){

//獲得這元素的值   String id = element.attributeValue();

String id = element.attributeValue("id");

System.out.println(id);

System.out.println(element.elementText("name"));

System.out.println(element.elementText("age"));

System.out.println(element.elementText("address"));

}

} catch (DocumentException e) {

e.printStackTrace();

}

}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章