package com.xml.dom;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DomTest {
public static void main(String[] args) throws Exception{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();//创建一个新的工厂实例factory
DocumentBuilder builder=factory.newDocumentBuilder(); //得到一个dom解析器
Document doc=builder.parse(new File("src/shuiguo.xml")); //得到dom对象
childNodesLength(doc);
Node shuiguo=doc.getElementsByTagName("水果").item(0);
listNodes(shuiguo);
}
public static void listNodes(Node shuiguo) {
NodeList nodelist=shuiguo.getChildNodes();
for(int i=0;i<nodelist.getLength();i++){
System.out.println("节点的名称"+nodelist.item(i).getNodeName()+" 节点的类型:"+nodelist.item(i).getNodeType()+" 节点的值:"+nodelist.item(i).getNodeValue());
}
}
public static void childNodesLength(Document doc) {
Node shuiguo=doc.getElementsByTagName("水果").item(0);
NodeList nodelist=shuiguo.getChildNodes();
int count=0;
for(int i=0;i<nodelist.getLength();i++){
if(nodelist.item(i).getNodeType()==Node.ELEMENT_NODE)
count++;
}
System.out.println("水果中含有的元素节点的个数是:"+count);
}
}