<?xml version="1.0" encoding="UTF-8"?> <水果 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="TestNameSpace.xsd"> <苹果>苹果</苹果> <香蕉>香蕉</香蕉> <李子>中文</李子> </水果>JAVA解析:
package hr.csdn.com; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import com.sun.xml.internal.bind.v2.runtime.NameList; public class DomeTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub try { DocumentBuilderFactory factor=DocumentBuilderFactory.newInstance();//创建一个工厂实例factory DocumentBuilder bulider=factor.newDocumentBuilder();//得到一个dom解析器 Document doc=bulider.parse(new File("src/Test.xml")); childer(doc); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static void childer(Document doc) { // TODO Auto-generated method stub NodeList nodelist=doc.getElementsByTagName("水果");// Node n1=nodelist.item(0); NodeList n2=n1.getChildNodes(); int count=0; for(int i=0;i<n2.getLength();i++){ if(n2.item(i).getNodeType()==Node.ELEMENT_NODE)//循环遍历元素节点的个数 count++; } System.out.println("水果中含有的元素节点的个数是:"+count); for(int i=0;i<n2.getLength();i++){ Node node=n2.item(i); if(node instanceof Element){////判断这个节点属于Element,再进行取值 System.out.println("子节点名称为:"+node.getNodeName()+" "+"对应的值为:"+node.getFirstChild().getNodeValue()); } } } }
运行结果: 水果中含有的元素节点的个数是:3 子节点名称为:苹果 对应的值为:苹果 子节点名称为:香蕉 对应的值为:香蕉 子节点名称为:李子 对应的值为:中文