分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)
2011-08-15 11:25
1226 查看
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"); } } }
相关文章推荐
- 分享非常有用的Java程序 (关键代码)(六)---解析/读取XML 文件(重要)
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
- 分享非常有用的Java程序(关键代码)(八)---Java InputStream读取网络响应Response数据的方法!(重要)
- 分享非常有用的Java程序 (关键代码) (二)---JavaSript获取上传文件路径的文件名
- 分享非常有用的Java程序 (关键代码) (二)---列出文件和目录
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
- 分享非常有用的Java程序 (关键代码) (二)---列出文件和目录
- 分享非常有用的Java程序 (关键代码) (三)---创建ZIP和JAR文件
- 分享非常有用的Java程序 (关键代码) (二)---JavaSript获取上传文件路径的文件名
- 分享非常有用的Java程序(关键代码)(七)---抓屏程序
- 分享非常有用的Java程序(关键代码)(七)---抓屏程序
- 分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小
- 分享非常有用的Java程序 (关键代码) (一)
- 分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map
- 分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小
- 分享非常有用的Java程序 (关键代码) (一)
- 分享非常有用的Java程序 (关键代码)(五)---把 Array 转换成 Map
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
- java程序文件读取与保存实例代码