📄 taskparserbean.java
字号:
/*
* TaskParserBean.java
*
* Created on November 15, 2002, 12:11 PM
*/
package jwadbook.xml;
import java.io.*;
import java.util.*;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
public class TaskParserBean extends DefaultHandler implements java.io.Serializable {
private Vector taskvect = new Vector();
private TaskElement _task = null;
private String character;
private String fileName;
public TaskParserBean() {
}
public void setFileName(String xmlname)
{
fileName = xmlname;
}
public Vector getTaskList()
{
try{
parse(fileName);
}
catch (Exception pec)
{
System.out.println(pec.toString());
}
return taskvect;
}
private Vector parse(String filename) throws Exception {
SAXParserFactory spfact =
SAXParserFactory.newInstance();
spfact.setValidating(false);
SAXParser saxParser = spfact.newSAXParser();
// create an XML reader
XMLReader reader = saxParser.getXMLReader();
FileReader file = new FileReader(filename);
// set handler
reader.setContentHandler(this);
// call parse on an input source
reader.parse(new InputSource(file));
return taskvect;
}
public void startElement (String uri, String name,
String qName, Attributes atts) {
_task = new TaskElement(
uri, name, qName, atts);
taskvect.addElement(_task);
character = new String();
}
// receive notification of the end of an element
public void endElement (String uri, String name, String qName) {
if(_task != null && character != null) {
_task.setValue(character.trim());
}
_task = null;
}
// receive notification of character data
public void characters (char ch[], int start,
int length) {
if(_task != null && character != null) {
String value = new String(
ch, start, length);
character += value;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -