?? mysaxbean.java
字號:
package test;
import java.util.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
public class MySAXBean extends DefaultHandler implements Serializable
{
private static String text=null;
private static Vector vector = null;
private static MyElement current = null;
private static final String PATH="file:///";
boolean validation = false;
public MySAXBean() {
}
public Vector doParse(String filename)
{
vector=new Vector();
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setValidating(validation);
XMLReader parser = null;
try {
// 創建一個JAXP SAXParser
SAXParser saxParser = spf.newSAXParser();
// 得到封裝的SAX XMLReader
parser = saxParser.getXMLReader();
DefaultHandler handler = new MySAXBean();
parser.setContentHandler(handler);
parser.setErrorHandler(handler);
parser.parse(PATH+filename);
}catch (Exception e) {
e.printStackTrace(System.err);
}
return vector;
}
public void startElement (String uri, String name,String qName, Attributes atts)
{
current = new MyElement(uri, name, qName, atts);
vector.addElement(current);
text = new String();
}
public void endElement (String uri, String name,String qName)
{
if(current != null && text != null)
{
current.setValue(text.trim());
}
current = null;
}
public void characters (char ch[], int start,int length)
{
if(current != null && text != null)
{
String value = new String(ch, start, length);
text += value;
}
}
public void warning(SAXParseException ex)
{
System.err.println("[Warning]: "+ex.getMessage());
}
public void error(SAXParseException ex)
{
System.err.println("[Error]: "+ex.getMessage());
}
public void fatalError(SAXParseException ex) throws SAXException
{
System.err.println("[Fatal Error]: "+ex.getMessage());
throw ex;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -