DRP项目(七)----XML的四种解析器之DOM4J解析XML

 

 我的xml文件代码:文件名:sys-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
    <db-info>
         <driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
        <url>jdbc:oracle:thin:@192.168.24.181:1521:BJPOWERNODE</url>
        <user-name>drp1</user-name>
         <password>drp1</password>
    </db-info>
</config>

首先声明一下我在这只写读取过程中的简要原理,至于加上单例模式,这个自己可以加上,但是我写的是实现解析xml的原理。

这里只得到<driver-name>中的东西,实现DOM4J应该引入: dom4j-1.6.1.jar(点击即可下载)和 jaxen-1.1-beta-6.jar包(点击即可下载

DOM4J解析XML文档

方法一:

package com.bjpowernode.drp.util;
  /**
   * DOM4J实现读取配置文件
  * 
   * */
  import org.dom4j.Document;
  import org.dom4j.DocumentException;
  import org.dom4j.Element;
  import org.dom4j.io.SAXReader;
 
 public class testXML {
     public  static void main(String args[]){
         SAXReader reader = new SAXReader();    
          Document doc=null;
         try {            
             doc = reader.read(Thread.currentThread().getContextClassLoader().getResource("sys-config.xml"));
         } catch (DocumentException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
          Element drivername = (Element)doc.selectObject("config/db-info/driver-name");
          System.out.println(drivername.getText());
         
     }
 }


方法二:

 package com.bjpowernode.drp.util;
 /**
  * DOM4J实现读取配置文件
  * 
  * */
 import java.io.InputStream;
 import java.io.Reader;
 import org.dom4j.*;
 import org.dom4j.io.SAXReader;
 
 public class testXML {
     public  static void main(String args[]){
         SAXReader reader = new SAXReader();    
         InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");//.getResource("sys-config.xml")
         try{
             Document doc = reader.read(in);
             Element drivernameElt = (Element)doc.selectObject("/config/db-info/driver-name");                    
             String drivername=drivernameElt.getStringValue();            
             System.out.println(drivername);        
             
          } catch (DocumentException e) {
                 e.printStackTrace();
                }
         
     }
 }


 

 

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值