xml解析

来源:互联网 发布:c语言接口与实现 pdf 编辑:程序博客网 时间:2024/06/06 16:44
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>


0 0
原创粉丝点击