在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);
            }
        }
    }
}
根据对象解析xml内容 java

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

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