分享非常有用的Java程式 (關鍵代碼)(六)---解析/讀取XML 檔案(重要)

來源:互聯網
上載者:User

標籤:

原文: 分享非常有用的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");     }  } }
 

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

分享非常有用的Java程式 (關鍵代碼)(六)---解析/讀取XML 檔案(重要)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.