一直以來都是用DOM4J來解析xml的,dom4j用起來就很方便,也習慣了,呵,也不能忘本,今天網上看到一段利用DOM樹解析,先摘下來,等有時間了,好好思考。
<?xml version="1.0" encoding="GB2312" ?>
<xml>
<Header left="100" Top="30">日報表</Header>
</xml>
package com.Gavin.tools.xml;

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

// 以上是要進行xml文檔處理需導入的包和類
public class DomXml {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // 實例化一個工廠類
DocumentBuilder builder = factory.newDocumentBuilder(); // 創建樹立xml文檔的對象,具體名稱我也說不上,其上以上兩條語句都是為處理xml文檔做準備的,即進行初始化工作
Document document = builder.parse(new File("c:\\xml.xml")); // 導入xml文檔
Element root = document.getDocumentElement(); // 得到根節點對象
NodeList list = root.getElementsByTagName("Header"); // 通過標簽名"Header"得到<Header>結點對象的列表,即所有名為"Header"的結點都被保存在一個list列表對象中
Element element = (Element) list.item(0); // 獲取第一個list對象,這里就是<Header>結點
System.out.println(element.getChildNodes().item(0).getNodeValue()); // 輸出<Header>結點的第一個子節點的值,這里沒有其他子節點,則直接返回"日報表"
System.out.println(element.getAttribute("left"));
for(int i = 0; i < list.getLength(); i++) {
System.out.println("left = " + element.getAttribute("left"));
}
} catch (Exception e) {
System.out.println("exception:" + e.getMessage()); // 若有異常,則輸出異常信息
}
}
}






































