一、XML文件config.xml,內容如下:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><xml-body> <書架> <書 name="xxxx"> <售價>100</售價> <售價>99</售價> <書名>Java就業培訓教程</書名> <作者>張孝祥</作者> </書> <書> <書名>JavaScript網頁開發</書名> <作者>張孝祥</作者> <售價>28.00元</售價> </書> </書架> </xml-body>
二、JAVA程序
public static void main(String[] args) throws Exception { // TODO Auto-generated method stub DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db=dbf.newDocumentBuilder(); org.w3c.dom.Document dom=db.parse(new File("src/config.xml")); list(dom); } //遞歸方法 public static void list(Node node){ if(node.getNodeType()==node.TEXT_NODE){ System.out.println(node.getTextContent()); } NodeList list=node.getChildNodes(); for(int i=0;i<list.getLength();i++){ Node child=list.item(i); list(child); } }
遍歷葉子節點就是把NodeType設置為TEXT_NODE類型!
三、判斷節點類型和獲取節點的名字和值,Node對象具有以下三個方法可以實現。
getNodeType() :獲取節點的類型,返回值為short類型。以下是節點類型表和對應的short值。

getNodeName():獲取節點的名字,返回值為String類型。
getNodeValue():獲取節點的值,如果節點類型為TEXT_NODE,則返回文本值,返回值為String類型。