java解析XML文件

刚看了一个讲java解析XML文件的视频,把代码拿来跟大家分享分享.

目录结构如下:

  
  
  
  
  1. package cn.ctgu.edu.hqh;import java.io.File;  
  2. import java.io.IOException;import javax.xml.parsers.DocumentBuilder;  
  3. import javax.xml.parsers.DocumentBuilderFactory;  
  4. import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;  
  5. import org.w3c.dom.Element;  
  6. import org.w3c.dom.NodeList;  
  7. import org.xml.sax.SAXException;public class XMLParse {  
  8. public static void main(String[] args) {  
  9. File file = new File("users.xml");  
  10. Document document = null;  
  11. DocumentBuilderFactory builderFactory = DocumentBuilderFactory  
  12. .newInstance();  
  13. DocumentBuilder builder;  
  14. try {  
  15. builder = builderFactory.newDocumentBuilder();  
  16. document = builder.parse(file);  
  17. } catch (ParserConfigurationException e) {  
  18. e.printStackTrace();  
  19. } catch (SAXException e) {  
  20. e.printStackTrace();  
  21. } catch (IOException e) {  
  22. System.err.println("找不到你指定的文件!");  
  23. e.printStackTrace();  
  24. }  
  25. NodeList users = document.getElementsByTagName("user");  
  26. Element userElement;  
  27. for (int i = 0; i < users.getLength(); i++) {  
  28. userElement = (Element) users.item(i);  
  29. String id = userElement.getAttribute("id");  
  30. System.out.println("用户编号:" + id);  
  31. String name = document.getElementsByTagName("name").item(i).getFirstChild().getNodeValue();  
  32. System.out.println("姓名:" + name);  
  33. String age = document.getElementsByTagName("age").item(i).getFirstChild().getNodeValue();  
  34. System.out.println("年龄:" + age);  
  35. String sex = document.getElementsByTagName("sex").item(i).getFirstChild().getNodeValue();  
  36. System.out.println("性别:" + sex);  
  37. System.out.println("===================");  
  38. } }  

users.xml

  
  
  
  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <users>  
  3. <user id="1">  
  4. <name>胡千好</name>  
  5. <age>22</age>  
  6. <sex>男</sex>  
  7. </user>  
  8. <user id="2">  
  9. <name>张三</name>  
  10. <age>20</age>  
  11. <sex>男</sex>  
  12. </user>  
  13. <user id="3">  
  14. <name>微微</name>  
  15. <age>30</age>  
  16. <sex>女</sex>  
  17. </user>  
  18. </users> 

运行结果:用户编号:1
姓名:胡千好
年龄:22
性别:男
===================
用户编号:2
姓名:张三
年龄:20
性别:男
===================
用户编号:3
姓名:微微
年龄:30
性别:女
===================

你可能感兴趣的:(java,xml,解析,文件)