一、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类型。