xml的DOM解析:


 
	
		AAAAAAbookName1
		10.0
	
	
		bookName2
		bookAuthor2
	


这张图片才是精髓:

XML文档的DOM解析_第1张图片


代码:

package com.zhang.xml.dom;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class DomParse {

	public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
        DocumentBuilder builder = factory.newDocumentBuilder();  
        Document document = builder.parse("books.xml");  //获得文档对象
        Element element = document.getDocumentElement(); //获得根节点
        
        NodeList books = element.getElementsByTagName("book"); //得到所有book节点,2个
//      element.getChildNodes(); //得到所有子节点,5个

        System.out.println("共有" + books.getLength() + "书");
        
        for(int i=0; i属性值:" + attrValue + "------");
        	}
        	//如果知道book节点有且只有一个w属性节点
//        	Element ele = (Element)bookNode;
//        	System.out.println(ele.getAttribute("w"));
        	
        	NodeList bookChildren = bookNode.getChildNodes(); //得到所有子节点
        	System.out.println("---第" + (i + 1) + "个节点共有" + bookChildren.getLength() +"个子节点---");
        	for(int k=0; k节点值:" + textContent + "------");
        		}
        	}
        	
        	System.out.println("-----------------第" + (i+1) + "节点结束解析-----------------");
        	System.out.println();
        }

	}
	

}


结果:

XML文档的DOM解析_第2张图片