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;
public class XmlTest {
public void getAllUserName(String fileName){
try {
/*
* 1、获得DOM解析器工厂类
* 2、得到DOM解析器
* 3、得到xml文件File
* 4、解析xml文件获得Document对象
* 5、得到xml文件的根节点
* 6、得到根节点下的所有子节点
*/
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
File file = new File(fileName);
if(file.exists()){
Document doc = db.parse(file);
Element e = doc.getDocumentElement();
System.out.println("root document:"+e.getNodeName());
NodeList nodeList = e.getElementsByTagName("student");
if(nodeList!=null&&nodeList.getLength()>0){
for(int i=0;i<nodeList.getLength();i++){
//7、循环节点
Node node = nodeList.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE){
System.out.println("======开始解析=====");
Element nameE = (Element)node;
NodeList nameNodeList= nameE.getElementsByTagName("name");
System.out.println("name:"+nameNodeList.item(0).getChildNodes().item(0).getNodeValue());
Element gradeE = (Element)node;
NodeList gradeNodeList= gradeE.getElementsByTagName("grade");
System.out.println("grade:"+gradeNodeList.item(0).getChildNodes().item(0).getNodeValue());
Element ageE = (Element)node;
NodeList ageNodeList= ageE.getElementsByTagName("age");
System.out.println("age:"+ageNodeList.item(0).getChildNodes().item(0).getNodeValue());
}
}
}else{
System.exit(1);
}
}
} catch(Exception e){
}
}
public static void main(String[] args) {
XmlTest xt = new XmlTest();
xt.getAllUserName("e:\\test.xml");
}
}
xml文件内容
<?xml version="1.0"?>
<students>
<student>
<name>111</name>
<grade>B</grade>
<age>23</age>
</student>
<student>
<name>222</name>
<grade>A</grade>
<age>24</age>
</student>
<student>
<name>333</name>
<grade>A</grade>
<age>25</age>
</student>
</students>