溫馨提示×

java怎么獲取xml節(jié)點屬性

小億
148
2023-10-30 09:39:47
欄目: 編程語言

要獲取XML節(jié)點的屬性,可以使用Java的DOM解析器來解析XML文檔。DOM解析器提供了一種方便的方式來處理XML文檔,并可以輕松地獲取節(jié)點的屬性。

以下是一個簡單的示例,演示如何使用Java的DOM解析器來獲取XML節(jié)點的屬性:

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

public class XMLParser {
    public static void main(String[] args) {
        try {
            // 創(chuàng)建一個DocumentBuilderFactory對象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            
            // 創(chuàng)建一個DocumentBuilder對象
            DocumentBuilder builder = factory.newDocumentBuilder();
            
            // 使用DocumentBuilder對象解析XML文件,得到一個Document對象
            Document document = builder.parse("example.xml");
            
            // 獲取XML文檔的根元素
            Element root = document.getDocumentElement();
            
            // 獲取所有名為"book"的節(jié)點
            NodeList bookList = root.getElementsByTagName("book");
            
            // 遍歷所有的"book"節(jié)點
            for (int i = 0; i < bookList.getLength(); i++) {
                Element book = (Element) bookList.item(i);
                
                // 獲取book節(jié)點的屬性值
                String id = book.getAttribute("id");
                String title = book.getAttribute("title");
                String author = book.getAttribute("author");
                String price = book.getAttribute("price");
                
                // 打印屬性值
                System.out.println("Book ID: " + id);
                System.out.println("Title: " + title);
                System.out.println("Author: " + author);
                System.out.println("Price: " + price);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述示例中,我們首先創(chuàng)建了一個DocumentBuilderFactory對象,然后使用它創(chuàng)建了一個DocumentBuilder對象。接下來,我們使用DocumentBuilder對象解析了一個名為"example.xml"的XML文件,并得到了一個Document對象。然后,我們通過調(diào)用getDocumentElement()方法獲取了XML文檔的根元素。接著,我們使用getElementsByTagName()方法獲取了所有名為"book"的節(jié)點,并遍歷了這些節(jié)點。在遍歷過程中,我們通過調(diào)用getAttribute()方法獲取了每個book節(jié)點的屬性值。

請確保將代碼中的"example.xml"替換為實際的XML文件的路徑。

0