SAX 实例

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);
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值