Java解析xml配置文件
Posted CodeLogs
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配置文件的主要内容,如果未能解决你的问题,请参考以下文章