DRP项目(七)----XML的四种解析器之SAX解析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>中的东西

SAX解析XML文档

 package com.bjpowernode.drp.util;
 
 import java.io.File;
 import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
  import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
  import org.xml.sax.helpers.DefaultHandler;
  /**
  * SAX实现读取配置文件
  * 
  * */
 public class testXML extends DefaultHandler{
 private String tagValue; 
 public static void main(String[] args) 
 { 
     String filename = "src/sys-config.xml"; 
     SAXParserFactory spf = SAXParserFactory.newInstance(); 
     try 
    { 
         SAXParser saxParser = spf.newSAXParser(); 
        saxParser.parse(new File(filename), new testXML()); 
     } 
     catch (Exception e) 
    { 
        e.printStackTrace(); 
    } 
 } 
 /** 
 * 在解释到一个开始元素时会调用此方法.但是当元素有重复时可以自己写算法来区分 
 * 
 */ 
 public void startElement(String uri, String localName, String qName, 
     Attributes attributes) throws SAXException {    
 }
 
 
 /** 
* 在遇到结束标签时调用此方法 
 */ 
 public void endElement(String uri, String localName, String qName) throws SAXException 
     { 
     if(qName=="driver-name"){    
         System.out.println(tagValue);
     }    
 } 
 
 /** 
 * 所有的XML文件中的字符会放到ch[]中
 */ 
 public void characters(char ch[], int start, int length) 
 throws SAXException 
     { 
         tagValue=new String(ch,start,length).trim(); 
     } 
 
}


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值