⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlreader.java

📁 java版源代码,里面包含很多源代码,大家可以看看.
💻 JAVA
字号:
package com.trulytech.mantis.system;

/**
 * <p>Title: xmlReader</p>
 * <p>Description: 读取XML配置文件</p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: trulytech</p>
 * @author WangXian
 * @version 1.2
 */
/*java IO类*/
import java.io.*;
/*SAX*/
/*SAX 例外*/
/*SAX Parser*/
import javax.xml.parsers.*;

import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler; /*SAX类*/

public class xmlReader
    extends DefaultHandler {

//属性列表
  private java.util.Properties rec = null;
//是否开始读取参数
  private boolean isBegin = false;
//参数名称
  private String Name = null;
//参数值
  private StringBuffer Value = null;
//开始标志
  private String startFlag = "init-param";

  /**
   * 解析XML文件
   * @param URL 文件地址
   * @param startFlag 开始标志
   * @throws Exception 所有异常
   * @return Properties 属性
   */
  public java.util.Properties parse(String URL, String startFlag) throws
      Exception {
    this.startFlag = startFlag;
    rec = new java.util.Properties();
    Name = new String();
    Value = new StringBuffer();
    File f = new File(URL);
    SAXParserFactory factory = SAXParserFactory.newInstance();
    SAXParser saxParser = factory.newSAXParser();
    saxParser.parse(f, this);

    return rec;
  }

  /**
   * 开始文档
   *@throws SAXException 解析异常
   */
  public void startDocument() throws SAXException {
  }

  /**
   * 结束文挡
   *@throws SAXException 解析异常
   */
  public void endDocument() throws SAXException {
  }

  /**
   * 开始标记
   * @param name String 名称
   * @param localname String 本地名称
   * @param qname String qname
   * @param attrs Attributes 属性
   * @throws SAXException
   */
  public void startElement(String name, String localname, String qname,
                           Attributes attrs) throws SAXException {

    if (!qname.equalsIgnoreCase(startFlag)) {
      isBegin = true;
      this.Name = qname;
    }
  }

  /**
   * 结束标志
   * @param uri String
   * @param localName String
   * @param qName String
   * @throws SAXException
   */
  public void endElement(String uri, String localName, String qName) throws
      SAXException {
    if (!qName.equalsIgnoreCase(startFlag) && isBegin) {
      isBegin = false;
      rec.setProperty(Name, Value.toString());
      Value.delete(0, Value.length());
    }
    else
      isBegin = false;

  }

  /**
   * 读取值
   *@param buf 值
   *@param offset 偏移量
   *@param len  长度
   *@throws SAXException 解析异常
   */

  public void characters(char buf[], int offset, int len) throws SAXException {
    if (isBegin)
      Value.append(buf, offset, len);

  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -