TestDom.java
package com.sxt.dom;import java.io.File;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;/* * DOM解析文档:DOM把XML文档映射成一个倒挂的树,每个节点都是一个对象 * DOM:document object model 文档对象模型 * 缺点:1.前三步不能省略 * 2.空白节点没有过滤 */public class TestDom { public static void main(String[] args) throws Exception { //创建解析工厂 DocumentBuilderFactory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //创建解析器 DocumentBuilder builder = factory.newDocumentBuilder(); //解析文档 获取文档内容 Document document = builder.parse(new File("product2.xml")); //拿到dom树 属性 元素 NodeList nodeList = document.getElementsByTagName("product"); //拿到根节点 Node node = nodeList.item(0);//Node getNodeType为1 System.out.println(node.getNodeName()); //拿到所有子节点 NodeList childNodes = node.getChildNodes(); //System.out.println(childNodes.getLength());//5 包括空白 空白也是子节点 //遍历子节点 包括空格 for(int i=0; i
product2.xml (工程文件上右键 新建 other XML)
蜘蛛王皮鞋 268 黑色 42 500 好皮鞋 88 蓝色 42 100
product2.dtd 新建 XML dtd