sax解析
来源:互联网 发布:sql注入 or 编辑:程序博客网 时间:2024/06/07 10:20
simple api for java
采用顺序方式访问,比dom要快
首先要编写SAX解析器,继承default Handler 覆盖父类的方法
package sax;import org.xml.sax.*;import org.xml.sax.helpers.*;public class MySAX extends DefaultHandler { public void startDocument() throws SAXException { System.out.println("<?xml version=\"1.0\" encoding=\"GBK\">"); } public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { System.out.print("<"); System.out.print(qName); if (attributes != null) { // 如果存在了属性 for (int x = 0; x < attributes.getLength(); x++) { System.out.print(" " + attributes.getQName(x) + "=\"" + attributes.getValue(x) + "\""); } } System.out.print(">"); } public void endElement(String uri, String localName, String qName) throws SAXException { System.out.print("<"); System.out.print(qName); System.out.print(">"); } public void characters(char[] ch, int start, int length) throws SAXException { System.out.print(new String(ch, start, length)); } public void endDocument() throws SAXException { System.out.println("文档结束。。。"); }}
在main函数里面解析
package sax ;import java.io.* ;import javax.xml.parsers.* ;public class TestSAX { public static void main(String args[]) throws Exception { // 建立SAX解析工厂 File directory = new File("");//设定为当前文件夹 String basepath=directory.getAbsolutePath(); String path=basepath+"/xmlfile/sax_demo.xml"; SAXParserFactory factory = SAXParserFactory.newInstance() ; SAXParser parser = factory.newSAXParser() ; parser.parse(path,new MySAX()) ; }}
可以看出,xml解析的编程步骤一般都是
1.获取factory
2.通过factory获取解析器parser
3.调用解析器的方法解析文档
1 0
- SAX解析
- SAX解析
- SAX解析
- SAX解析
- SAX解析
- SAX解析
- SAX解析
- SAX解析
- SAX 解析
- sax解析
- SAX解析
- SAX解析
- SAX解析
- sax解析
- SAX解析
- SAX解析
- SAX解析
- sax解析
- eclipse配置
- Socket为解决粘包设计的环形缓冲区
- 使用Geotools中的Shapefile plugin支持小数位精确控制
- Codeforces Round #395 (Div. 2)Timofey and a tree
- TYVJ-P1006
- sax解析
- Unity如何只修改一个坐标系的值
- 欢迎使用CSDN-markdown编辑器
- Linux系统编程之图解进程间通信
- servlet的学习
- 对于任意多边形面积的求法
- apache的一些配置
- iOS 使用GCD多线程技术来处理耗时任务
- Java ZipFile 初窥