[Java] 在Java中解析读取XML文件 →→→→→进入此内容的聊天室

来自 , 2020-11-26, 写在 Java, 查看 142 次.
URL http://www.code666.cn/view/2b6d65b9
  1. view plaincopy to clipboardprint?
  2.  
  3. <?xml version="1.0"?>  
  4. <students>  
  5. <student>  
  6. <name>John</name>  
  7. <grade>B</grade>  
  8. <age>12</age>  
  9. </student>  
  10. <student>  
  11. <name>Mary</name>  
  12. <grade>A</grade>  
  13. <age>11</age>  
  14. </student>  
  15. <student>  
  16. <name>Simon</name>  
  17. <grade>A</grade>  
  18. <age>18</age>  
  19. </student>  
  20. </students>  
  21.  
  22.  
  23. <?xml version="1.0"?>
  24. <students>
  25. <student>
  26. <name>John</name>
  27. <grade>B</grade>
  28. <age>12</age>
  29. </student>
  30. <student>
  31. <name>Mary</name>
  32. <grade>A</grade>
  33. <age>11</age>
  34. </student>
  35. <student>
  36. <name>Simon</name>
  37. <grade>A</grade>
  38. <age>18</age>
  39. </student>
  40. </students>
  41. Java code to parse above XML.
  42.  
  43.  
  44. view plaincopy to clipboardprint?
  45.  
  46. package net.viralpatel.java.xmlparser;  
  47.  
  48. import java.io.File;  
  49. import javax.xml.parsers.DocumentBuilder;  
  50. import javax.xml.parsers.DocumentBuilderFactory;  
  51.  
  52. import org.w3c.dom.Document;  
  53. import org.w3c.dom.Element;  
  54. import org.w3c.dom.Node;  
  55. import org.w3c.dom.NodeList;  
  56.  
  57. public class XMLParser {  
  58.  
  59. public void getAllUserNames(String fileName) {  
  60. try {  
  61. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  
  62. DocumentBuilder db = dbf.newDocumentBuilder();  
  63. File file = new File(fileName);  
  64. if (file.exists()) {  
  65. Document doc = db.parse(file);  
  66. Element docEle = doc.getDocumentElement();  
  67.  
  68. // Print root element of the document  
  69. System.out.println("Root element of the document: "  
  70. + docEle.getNodeName());  
  71.  
  72. NodeList studentList = docEle.getElementsByTagName("student");  
  73.  
  74. // Print total student elements in document  
  75. System.out  
  76. .println("Total students: " + studentList.getLength());  
  77.  
  78. if (studentList != null && studentList.getLength() > 0) {  
  79. for (int i = 0; i < studentList.getLength(); i++) {  
  80.  
  81. Node node = studentList.item(i);  
  82.  
  83. if (node.getNodeType() == Node.ELEMENT_NODE) {  
  84.  
  85. System.out  
  86. .println("=====================");  
  87.  
  88. Element e = (Element) node;  
  89. NodeList nodeList = e.getElementsByTagName("name");  
  90. System.out.println("Name: "  
  91. + nodeList.item(0).getChildNodes().item(0)  
  92. .getNodeValue());  
  93.  
  94. nodeList = e.getElementsByTagName("grade");  
  95. System.out.println("Grade: "  
  96. + nodeList.item(0).getChildNodes().item(0)  
  97. .getNodeValue());  
  98.  
  99. nodeList = e.getElementsByTagName("age");  
  100. System.out.println("Age: "  
  101. + nodeList.item(0).getChildNodes().item(0)  
  102. .getNodeValue());  
  103. }  
  104. }  
  105. } else {  
  106. System.exit(1);  
  107. }  
  108. }  
  109. } catch (Exception e) {  
  110. System.out.println(e);  
  111. }  
  112. }  
  113. public static void main(String[] args) {  
  114.  
  115. XMLParser parser = new XMLParser();  
  116. parser.getAllUserNames("c:\\test.xml");  
  117. }  
  118. }  
  119.  
  120.  
  121.  
  122. package net.viralpatel.java.xmlparser;
  123.  
  124.  
  125. import java.io.File;
  126. import javax.xml.parsers.DocumentBuilder;
  127. import javax.xml.parsers.DocumentBuilderFactory;
  128.  
  129.  
  130. import org.w3c.dom.Document;
  131. import org.w3c.dom.Element;
  132. import org.w3c.dom.Node;
  133. import org.w3c.dom.NodeList;
  134.  
  135.  
  136. public class XMLParser {
  137.  
  138.  
  139. public void getAllUserNames(String fileName) {
  140. try {
  141. DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
  142. DocumentBuilder db = dbf.newDocumentBuilder();
  143. File file = new File(fileName);
  144. if (file.exists()) {
  145. Document doc = db.parse(file);
  146. Element docEle = doc.getDocumentElement();
  147.  
  148.  
  149. // Print root element of the document
  150. System.out.println("Root element of the document: "
  151. + docEle.getNodeName());
  152.  
  153.  
  154. NodeList studentList = docEle.getElementsByTagName("student");
  155.  
  156.  
  157. // Print total student elements in document
  158. System.out
  159. .println("Total students: " + studentList.getLength());
  160.  
  161.  
  162. if (studentList != null && studentList.getLength() > 0) {
  163. for (int i = 0; i < studentList.getLength(); i++) {
  164.  
  165.  
  166. Node node = studentList.item(i);
  167.  
  168.  
  169. if (node.getNodeType() == Node.ELEMENT_NODE) {
  170.  
  171.  
  172. System.out
  173. .println("=====================");
  174.  
  175.  
  176. Element e = (Element) node;
  177. NodeList nodeList = e.getElementsByTagName("name");
  178. System.out.println("Name: "
  179. + nodeList.item(0).getChildNodes().item(0)
  180. .getNodeValue());
  181.  
  182.  
  183. nodeList = e.getElementsByTagName("grade");
  184. System.out.println("Grade: "
  185. + nodeList.item(0).getChildNodes().item(0)
  186. .getNodeValue());
  187.  
  188.  
  189. nodeList = e.getElementsByTagName("age");
  190. System.out.println("Age: "
  191. + nodeList.item(0).getChildNodes().item(0)
  192. .getNodeValue());
  193. }
  194. }
  195. } else {
  196. System.exit(1);
  197. }
  198. }
  199. } catch (Exception e) {
  200. System.out.println(e);
  201. }
  202. }
  203. public static void main(String[] args) {
  204.  
  205.  
  206. XMLParser parser = new XMLParser();
  207. parser.getAllUserNames("c:\\test.xml");
  208. }
  209. }

回复 "在Java中解析读取XML文件"

这儿你可以回复上面这条便签

captcha