本文实例为大家分享了java解析/读取xml文件的方法,供大家参考,具体内容如下
XML文件
<?xml version=\"1.0\"?> <students> <student> <name>John</name> <grade>B</grade> <age>12</age> </student> <student> <name>Mary</name> <grade>A</grade> <age>11</age> </student> <student> <name>Simon</name> <grade>A</grade> <age>18</age> </student> </students>
Java 代码:
package net.viralpatel.java.xmlparser; 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 XMLParser { public void getAllUserNames(String fileName) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); File file = new File(fileName); if (file.exists()) { Document doc = db.parse(file); Element docEle = doc.getDocumentElement(); // Print root element of the document System.out.println(\"Root element of the document: \" + docEle.getNodeName()); NodeList studentList = docEle.getElementsByTagName(\"student\"); // Print total student elements in document System.out .println(\"Total students: \" + studentList.getLength()); if (studentList != null && studentList.getLength() > 0) { for (int i = 0; i < studentList.getLength(); i++) { Node node = studentList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { System.out .println(\"=====================\"); Element e = (Element) node; NodeList nodeList = e.getElementsByTagName(\"name\"); System.out.println(\"Name: \" + nodeList.item(0).getChildNodes().item(0) .getNodeValue()); nodeList = e.getElementsByTagName(\"grade\"); System.out.println(\"Grade: \" + nodeList.item(0).getChildNodes().item(0) .getNodeValue()); nodeList = e.getElementsByTagName(\"age\"); System.out.println(\"Age: \" + nodeList.item(0).getChildNodes().item(0) .getNodeValue()); } } } else { System.exit(1); } } } catch (Exception e) { System.out.println(e); } } public static void main(String[] args) { XMLParser parser = new XMLParser(); parser.getAllUserNames(\"c:\\\\test.xml\"); } }
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文地址:https://www.stayed.cn/item/1575
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我