SAX 实例

来源:互联网 发布:强力删除软件 编辑:程序博客网 时间:2024/05/22 04:57

SAX:
一、读取文件
1、data.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<no>00001</no>
<name>DOM4J</name>
</book>
<book>
<no>00002</no>
<name>JDOM</name>
</book>
</books>


2、TestSAX.java
import java.util.Stack;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class TestSAX extends DefaultHandler{
Stack tags = new Stack();
public TestSAX(){
  super();
}
public static void main(String[] args) {
  try {
   SAXParserFactory factory = SAXParserFactory.newInstance();
   SAXParser parser = factory.newSAXParser();
   TestSAX testSAX = new TestSAX();
   parser.parse(new InputSource("data.xml"),testSAX);
  } catch (Exception e) {
   e.printStackTrace();
  }
}
public void characters(char ch[],int start,int length)throws SAXException{
  String tag = (String)tags.peek();
  if(tag.equals("no")){
   System.out.println("NO:"+new String(ch,start,length));
  }
  if(tag.equals("name")){
   System.out.println("NAME:"+new String(ch,start,length));
  }
}
public void startElement(String uri,String localName,String qName,Attributes attrs){
  tags.push(qName);
}
}