package com.xml.dom;
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest1 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();// 创建解析器工厂
DocumentBuilder builder = factory.newDocumentBuilder();// 创建解析器
Document doc = builder.parse(new File("src/shuiguo.xml")); // 得到文档对象
Node node = doc.getElementsByTagName("水果").item(0); // 得到文档的水果当中的第一个元素
listNode(node);
}
public static void listNode(Node node) {
System.out.println("节点名称:" + node.getNodeName() + " 节点值:"
+ node.getNodeValue()); //打印元素节点以及文本节点(根节点)的名称及内容
if (node.getNodeType() == Node.ELEMENT_NODE) {
NamedNodeMap map = node.getAttributes();
if (map != null) {
for (int i = 0; i < map.getLength(); i++) {
System.out.println("属性节点名称:" + map.item(i).getNodeName()
+ " 属性节点的值:" + map.item(i).getNodeValue());
}
}
} //打印属性节点(根节点)的名称及内容
NodeList nodelist=node.getChildNodes();
if(nodelist.getLength()>0){
for(int i=0;i<nodelist.getLength();i++){
listNode(nodelist.item(i)); //递归
}
} //打印所有子节点的名称以及内容
}
}
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest1 {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();// 创建解析器工厂
DocumentBuilder builder = factory.newDocumentBuilder();// 创建解析器
Document doc = builder.parse(new File("src/shuiguo.xml")); // 得到文档对象
Node node = doc.getElementsByTagName("水果").item(0); // 得到文档的水果当中的第一个元素
listNode(node);
}
public static void listNode(Node node) {
System.out.println("节点名称:" + node.getNodeName() + " 节点值:"
+ node.getNodeValue()); //打印元素节点以及文本节点(根节点)的名称及内容
if (node.getNodeType() == Node.ELEMENT_NODE) {
NamedNodeMap map = node.getAttributes();
if (map != null) {
for (int i = 0; i < map.getLength(); i++) {
System.out.println("属性节点名称:" + map.item(i).getNodeName()
+ " 属性节点的值:" + map.item(i).getNodeValue());
}
}
} //打印属性节点(根节点)的名称及内容
NodeList nodelist=node.getChildNodes();
if(nodelist.getLength()>0){
for(int i=0;i<nodelist.getLength();i++){
listNode(nodelist.item(i)); //递归
}
} //打印所有子节点的名称以及内容
}
}