21xrx.com
2025-03-20 23:27:39 Thursday
文章检索 我的文章 写文章
使用Java读取XML文件中的通讯录信息
2023-06-15 10:54:27 深夜i     --     --
Java XML DOM 通讯录 文件 解析 API 节点 元素 属性 文档 联系人 示例代码 遍历

文章:

XML是广泛使用的数据交换格式,许多应用程序都使用它来存储和共享数据。在许多情况下,这些数据都是关于人或联系人的。在本文中,我们将探讨如何使用Java从XML文件中读取通讯录信息。

Java提供了许多库和API用于读取XML文件。其中最常用的是Java DOM API。DOM (Document Object Model)是一种解析XML文档的标准方法。它将XML文档解析为一个由节点(或元素)和属性组成的树形结构。

以下是使用Java DOM API从XML文件中读取通讯录信息的示例代码:

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class ReadXMLFile {
  public static void main(String[] args){
   try {
     File inputFile = new File("contacts.xml");
     DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
     DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
     Document doc = dBuilder.parse(inputFile);
     doc.getDocumentElement().normalize();
     System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
     NodeList nList = doc.getElementsByTagName("contact");
     System.out.println("----------------------------");
     for (int temp = 0; temp < nList.getLength(); temp++) {
      Node nNode = nList.item(temp);
      System.out.println("\nCurrent Element :" + nNode.getNodeName());
      if (nNode.getNodeType() == Node.ELEMENT_NODE) {
        Element eElement = (Element) nNode;
        System.out.println("First Name : " + eElement.getElementsByTagName("firstname").item(0).getTextContent());
        System.out.println("Last Name : " + eElement.getElementsByTagName("lastname").item(0).getTextContent());
        System.out.println("Email : " + eElement.getElementsByTagName("email").item(0).getTextContent());
        System.out.println("Phone : " + eElement.getElementsByTagName("phone").item(0).getTextContent());
      }
     }
   } catch (Exception e) {
     e.printStackTrace();
   }
  }
}

在上面的示例代码中,我们首先创建了一个File对象来表示XML文件。然后,我们使用DocumentBuilderFactory和DocumentBuilder类创建了一个Document对象,该对象表示整个XML文档。接下来,我们使用doc.getDocumentElement()方法获取文档的根元素,并使用normalize()方法标准化文档。最后,我们使用getElementsByTagName()方法获取所有联系人元素,并遍历它们以获取每个联系人的详细信息。

  
  

评论区