在 Java 中,可以使用 DOM、SAX、JDOM 等技术来解析 XML 内容。下面以 DOM 方式解析 XML 为例进行说明。

  1. 导入相关包
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
  1. 读取 XML 文件
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new File('example.xml'));
  1. 获取根节点
Element root = document.getDocumentElement();
  1. 获取子节点
NodeList nodeList = root.getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++) {
    Node node = nodeList.item(i);
    if (node.getNodeType() == Node.ELEMENT_NODE) {
        Element element = (Element) node;
        // 处理子节点
    }
}
  1. 获取节点属性
String attributeValue = element.getAttribute('attributeName');
  1. 获取节点值
String textValue = element.getTextContent();

完整代码示例:

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;

public class XMLParser {

    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse(new File('example.xml'));

        Element root = document.getDocumentElement();
        NodeList nodeList = root.getChildNodes();
        for (int i = 0; i < nodeList.getLength(); i++) {
            Node node = nodeList.item(i);
            if (node.getNodeType() == Node.ELEMENT_NODE) {
                Element element = (Element) node;
                String attributeValue = element.getAttribute('attributeName');
                String textValue = element.getTextContent();
                System.out.println('attributeValue: ' + attributeValue + ', textValue: ' + textValue);
            }
        }
    }
}
Java DOM 解析 XML 文档:完整指南和示例

原文地址: https://www.cveoy.top/t/topic/nnlT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录