温馨提示×

java怎么获取xml节点属性

小亿
148
2023-10-30 09:39:47
栏目: 编程语言

要获取XML节点的属性,可以使用Java的DOM解析器来解析XML文档。DOM解析器提供了一种方便的方式来处理XML文档,并可以轻松地获取节点的属性。

以下是一个简单的示例,演示如何使用Java的DOM解析器来获取XML节点的属性:

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 {
            // 创建一个DocumentBuilderFactory对象
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            
            // 创建一个DocumentBuilder对象
            DocumentBuilder builder = factory.newDocumentBuilder();
            
            // 使用DocumentBuilder对象解析XML文件,得到一个Document对象
            Document document = builder.parse("example.xml");
            
            // 获取XML文档的根元素
            Element root = document.getDocumentElement();
            
            // 获取所有名为"book"的节点
            NodeList bookList = root.getElementsByTagName("book");
            
            // 遍历所有的"book"节点
            for (int i = 0; i < bookList.getLength(); i++) {
                Element book = (Element) bookList.item(i);
                
                // 获取book节点的属性值
                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();
        }
    }
}

在上述示例中,我们首先创建了一个DocumentBuilderFactory对象,然后使用它创建了一个DocumentBuilder对象。接下来,我们使用DocumentBuilder对象解析了一个名为"example.xml"的XML文件,并得到了一个Document对象。然后,我们通过调用getDocumentElement()方法获取了XML文档的根元素。接着,我们使用getElementsByTagName()方法获取了所有名为"book"的节点,并遍历了这些节点。在遍历过程中,我们通过调用getAttribute()方法获取了每个book节点的属性值。

请确保将代码中的"example.xml"替换为实际的XML文件的路径。

0