SAX解析工具-  Sun公司提供的。内置在jdk中。org.xml.sax.
核心的API:
SAXParser类: 用于读取和解析xml文件对象
parse(File f, DefaultHandler dh)方法: 解析xml文件 参数一: File:表示 读取的xml文件。
参数二: DefaultHandler: SAX事件处理程序。使用DefaultHandler的子类
1.创建SAXParser对象
SAXParser parser=SAXParserFactory.newInstance().newSAXParser();
2.调用parse方法
parser.parse(new File("./src/contact.xml"), new MyDefaultHandler());
} [一个类继承class 类名(extends DefaultHandler) 在调用是创建传进去
DefaultHandler类的API:
void startDocument() : 在读到文档开始时调用
void endDocument() :在读到文档结束时调用
void startElement(String uri, String localName, String qName, Attributes attributes) :读到开始标签时调用
void endElement(String uri, String localName, String qName) :读到结束标签时调用
void characters(char[] ch, int start, int length) : 读到文本内容时调用

SAX代码例子:

public class SAXReadXML {
public static void main(String[] args) {
//创建SAXParserFactory对象
      SAXParserFactory spf=SAXParserFactory.newInstance();
    try { //创建SAXParser对象
        SAXParser saxParser=spf.newSAXParser();
        File file=new File(“D:\\itcastworkspace\\xmlSax\\src\\cn\\itcast\\sax\\students.xml”);
        /*解析文件
        *new XMLContentHandler() 事件处理程序*/
        saxParser.parse(file, new XMLContentHandler());
       }
    catch (ParserConfigurationException e) { e.printStackTrace();}
    catch (SAXException e) { e.printStackTrace();}
    catch (IOException e) { e.printStackTrace();}
 }
}
public class XMLContentHandler extends DefaultHandler{
  //当前元素中的数据
  private String currentData;
  //取得元素数据
  public void characters(char[] ch, int start, int length)throws SAXException {
currentData=new String(ch,start,length);
  }
   //在解析整个文档结束时调用
  public void endDocument() throws SAXException {
System.out.println("结束文档");
  }
   //在解析元素结束时调用
  public void endElement(String uri, String localName, String name)throws SAXException {
System.out.println("节点数据 *************************"+this.currentData);
System.out.println("结束元素 ************"+name);
  }
  //在解析整个文档开始时调用
  public void startDocument() throws SAXException {
System.out.println("开始文档");
  }  //在解析元素开始时调用
  public void startElement(String uri, String localName, String name,Attributes attributes) throws SAXException {
System.out.println("开始元素 ************"+name);
  }
}

SAX解析的更多相关文章

  1. Android之SAX解析XML

    一.SAX解析方法介绍 SAX(Simple API for XML)是一个解析速度快并且占用内存少的XML解析器,非常适合用于Android等移动设备. SAX解析器是一种基于事件的解析器,事件驱动 ...

  2. XML技术之SAX解析器

    1.解析XML文件有三种解析方法:DOM SAX DOM4J. 2.首先SAX解析技术只能读取XML文档中的数据信息,不能对其文档中的数据进行添加,删除,修改操作:这就是SAX解析技术的一个缺陷. 3 ...

  3. Android 使用pull,sax解析xml

    pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory. ...

  4. dom解析和sax解析的区别及优缺点

    dom解析一开始就将文档所有内容装入内存,每个元素(标签)都作为一个element对象存储,形成对象树,缺点是对内存占用大,不能解析数据量很大的文档:优点是方便进行crud操作. sax解析,逐行解析 ...

  5. JAVA使用SAX解析XML文件

    在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...

  6. SAX解析DOM4J的方法总结

    <二 .利用SAX进行DOM解析DOM4J的基本练习>    一. 本次总结用到的xml文档    <?xml version="1.0" encoding=&q ...

  7. XML.03-DOM和SAX解析

    body,td { font-family: calibri; font-size: 10pt } XML.03-DOM和SAX解析 XML的DOM解析 解析 处理 回写 XML的SAX解析 SAX和 ...

  8. SAX解析xml文件

    需要做一个银行名字的列表. 因为有很多,所以想到了用xml来保存,然后uongDAX解析. public class BankSelectActivity extends BaseActivity{ ...

  9. Android使用SAX解析XML(4)

    util.java文件如下: package com.hzhi.my_sax; import java.io.IOException; import java.io.InputStream; impo ...

  10. Android简化xml sax解析

    dom解析占用内存大(我这边需要解析各种各样的kml文件,有时4-5M的kml文件使用dom解析很多手机就内存溢出了),也需要引入第三方库,所以使用相对于节省内存很多.不需引入其他库的sax解析就是很 ...

随机推荐

  1. treap启发式合并

    注意输入v要在建根的前面. #include <cstdio> #include <iostream> #include <algorithm> #include ...

  2. java中集合杂记

    HashSet类按照哈希算法来存取集合中的对象,具有很有的性能.当HashSet向集合中加入一个对象时,会调用对象的hashCode()方法获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放 ...

  3. CapsLock indicator on Ubuntu for Thinkpad

    http://askubuntu.com/questions/292535/how-to-get-caps-num-scroll-lock-keys-osd-notification sudo add ...

  4. IE浏览器下面要实现滤镜(transparent),必须要加filter

    遇到的问题是: ie9下面的a标签样式是background-color:transparent;导致链接失效,点不动.这个问题跟IE9及其以下a标签链接加 background-color:tran ...

  5. icinga 被动模式 nsca 安装

    本文假设读者已安装好icinga,此外nsca本身nagios插件,icinga/nagios都适用 一.编译安装nsca1.编译,拷贝文件tar -vxzf nsca-2.7.2.tar.gz./c ...

  6. SKScene类

    继承自 SKEffectNode:SKNode:UIResponder:NSObject 符合 NSCoding(SKNode)NSCopying(SKNode)NSObject(NSObject) ...

  7. Android-Uiautomator:[5]停止monkey测试

    方法/步骤 1 其实停止很简单,无非就是结束掉monkey的进程即可 如何停止呢 2 ps命令  查找uiautomator的进程 打开cmd命令行窗口 输入: adb shell ps | grep ...

  8. Oracle Quality --- Setup Collection Element and Collection Plan

    Responsibility: Quality, Vision Enterprises 第一步: 创建 Collection Elements setup > collection elemen ...

  9. JMeter在里面Json数据处理方法

    http://eclipsesource.com/blogs/2014/06/12/parsing-json-responses-with-jmeter/ Json作为一种数据交换格式在网络开发.特别 ...

  10. 利用ParameterizedType获取泛型参数类型

    //利用ParameterizedType获取java泛型的参数类型 public class Demo {     public static void main(String[] args) { ...