Java解析xml配置文件

Posted JOSON.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java解析xml配置文件相关的知识,希望对你有一定的参考价值。

xml文件存放在项目resources资源目录下

config.xml

<?xml version="1.0" encoding="utf-8"?>
<setting>
    <database>
        <task id="测试库">
            <driver>com.mysql.cj.jdbc.Driver</driver>
            <jdbcUrl>jdbc:mysql://127.0.0.1:3306/dbname</jdbcUrl>
            <username>root</username>
            <password>123456</password>
        </task>
    </database>
</setting>

POM依赖

<dependency>
    <groupId>org.dom4j</groupId>
    <artifactId>dom4j</artifactId>
    <version>2.1.3</version>
</dependency>
<dependency>
    <groupId>jaxen</groupId>
    <artifactId>jaxen</artifactId>
    <version>1.1.6</version>
</dependency>

解析XML

private Map<String,String> parseXML(String xpath)

    Map<String,String> result = new HashMap<>();
    try 
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read(Methods.class.getResourceAsStream("/configuration.xml"));
        Element root = document.getRootElement();

        Element ele = (Element) root.selectNodes(xpath).get(0);
        List<Element> elements = ele.elements();

        for(int i = 0,len = elements.size(); i < len;i++)
            result.put(elements.get(i).getName(),elements.get(i).getText());
        

    catch (Exception ex)
        ex.printStackTrace();
    
    return result;


方法调用

//使用xpath定位
Map<String,String> db_map = parseXML("//database/task[@id='测试库']");
System.out.println(db_map.get("username"));
System.out.println(db_map.get("jdbcUrl"));

以上是关于Java解析xml配置文件的主要内容,如果未能解决你的问题,请参考以下文章

Java解析xml配置文件

【Spring源码配置文件解析】2. xml注入配置信息 & @Value

Java基础之XML解析

Java解析XML文件的方式

在java项目中怎样利用Dom4j解析XML文件获取数据

java操作XML文件