Dom4j 解析XML

来源:互联网 发布:普陀山求子是迷信 知乎 编辑:程序博客网 时间:2024/05/23 14:01

dom4j解析xml  

2|字号 订阅

1:连接数据库信息配置在xml中

 

<?xml version="1.0" encoding="UTF-8"?>
<datasource>
 <driver>com.mysql.jdbc.Driver</driver>
 <url>jdbc:mysql://localhost:3306/test</url>
 <userName>root</userName>
 <userPassword>root</userPassword>
</datasource>

 

2:通过dom4j解析xml(下载必要的jar包)

package com.igowei.commoms;

import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 使用dom4j读取xml配置的数据源信息
 * 
 * @author Administrator
 * 
 */
public class Dom4jReadXml {
 private static String driver;
 private static String url;
 private static String userName;
 private static String userPassword;
 private static Connection connection;
 private static HashMap<String, String> hashmap;
 /**
  * 静态块负责解析xml
  */
 static {
  // 创建解析器
  SAXReader reader = new SAXReader();
  try {
   // 解析器读取配置文件(返回文档)
   Document document = reader.read(new File(
     "src/com/igowei/db/xml/DB.xml"));
   // 取得文档的根元素
   Element element = document.getRootElement();
   Iterator iterator = element.elementIterator();
   while (iterator.hasNext()) {
    Element et = (Element) iterator.next();
    if (et.getName().equals("driver")) {
     driver = et.getText();
    }
    if (et.getName().equals("url")) {
     url = et.getText();
    }
    if (et.getName().equals("userName")) {
     userName = et.getText();
    }
    if (et.getName().equals("userPassword")) {
     userPassword = et.getText();
    }

   }
  } catch (DocumentException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

 public static Connection getConnection() {
  try {
   Class.forName(driver);
   connection = DriverManager.getConnection(url, userName, userPassword);
   return  connection;
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return null;
 }

 public static void main(String[] args) {
   System.out.println(Dom4jReadXml.getConnection());
 }
}

地址:http://shanxisuidezhanglu.blog.163.com/blog/static/14089726220102189521646/

原创粉丝点击