在本教程中,我们将使用 Java 程序通过 DOM XML parser
读取 XML 文件。 DOM 解析器将整个 XML 文档加载到内存中。
文档对象模型 (DOM) 是一种跨平台且独立于语言的应用程序编程接口,它将 HTML、XHTML 或 XML 文档视为树结构,其中每个节点都是代表文档一部分的对象。 可以以编程方式操作这些对象,结果发生的任何可见变化都可以反映在文档的显示中。 欲了解更多信息,请阅读 Wiki
学生.xml
<?xml version="1.0"?>
<college>
<student id="101">
<name>WebSparrow</name>
<rollnumber>2016</rollnumber>
<course>Ph.D</course>
<nationality>India</nationality>
<mobile>+91XXXXXXXXXX</mobile>
</student>
<student id="102">
<name>Smith</name>
<rollnumber>1234</rollnumber>
<course>B.Sc</course>
<nationality>USA</nationality>
<mobile>+1XXXXXXXXXX</mobile>
</student>
</college>
XMLFileParser.java
package org.websparrow;
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 XMLFileParser {
public static void main(String[] args) {
try {
File readXml = new File("F:/student.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(readXml);
d.getDocumentElement().normalize();
System.out.println("Root Element : " + d.getDocumentElement().getNodeName());
System.out.println("======================");
NodeList nodeList = d.getElementsByTagName("student");
for (int index = 0; index < nodeList.getLength(); index++) {
Node node = nodeList.item(index);
System.out.println("\nCurrent Element : " + node.getNodeName());
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element e = (Element) node;
System.out.println("Student id: " + e.getAttribute("id"));
System.out.println("Name : " + e.getElementsByTagName("name").item(0).getTextContent());
System.out.println("Roll Number : " + e.getElementsByTagName("rollnumber").item(0).getTextContent());
System.out.println("Course : " + e.getElementsByTagName("course").item(0).getTextContent());
System.out.println("Nationality : " + e.getElementsByTagName("nationality").item(0).getTextContent());
System.out.println("Mobile : " + e.getElementsByTagName("mobile").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出:
Root Element : college
======================
Current Element : student
Student id: 101
Name : WebSparrow
Roll Number : 2016
Course : Ph.D
Nationality : India
Mobile : +91XXXXXXXXXX
Current Element : student
Student id: 102
Name : Smith
Roll Number : 1234
Course : B.Sc
Nationality : USA
Mobile : +1XXXXXXXXXXX
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.websparrow.org/java/how-to-parse-xml-in-java
内容来源于网络,如有侵权,请联系作者删除!