📄 xmlreader.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 + -