SAX--Simple API for XML
2012-08-06 21:09
363 查看
SAX与DOM最大的不同是,SAX以流的形式读取XML,而不是一下把DOM load到内存中,因此SAX特别适合用来读取超大XML文件。
使用起来也很简单,本质上就是SAX在遇到XML中的Element的时候会自动调用一些方法,例如下例中的startElement,endElement,characters。我们仅需要在这些方式中用代码实现希望对XML的处理。
直接看例子吧:
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SAXTesting {
public static void main(String argv[]) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String localName,
String qName, Attributes attributes)
throws SAXException {
System.out.println(qName);
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
}
public void characters(char ch[], int start, int length)
throws SAXException {
System.out.println(new String(ch, start, length));
}
};
saxParser.parse("d:\\book\\file.xml", handler);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用起来也很简单,本质上就是SAX在遇到XML中的Element的时候会自动调用一些方法,例如下例中的startElement,endElement,characters。我们仅需要在这些方式中用代码实现希望对XML的处理。
直接看例子吧:
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SAXTesting {
public static void main(String argv[]) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String localName,
String qName, Attributes attributes)
throws SAXException {
System.out.println(qName);
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
}
public void characters(char ch[], int start, int length)
throws SAXException {
System.out.println(new String(ch, start, length));
}
};
saxParser.parse("d:\\book\\file.xml", handler);
} catch (Exception e) {
e.printStackTrace();
}
}
}
相关文章推荐
- android解析xml文件的SAX方式:Simple API for XML
- JAVA读取XML练习,JAVA读取XML文档,JAVA解析XML文档,JAVA与XML,XML文档解析,SAX (Simple API for XML)
- Simple API for XML(SAX)详解与实例
- SAX:Simple API for XML
- dom和sax(simple api for xml) 概念
- SAX(simple api for xml,也可以说是jsr172)学习笔记
- 用SAX Parser(Simple API for XML)分析RSS
- SAX 2.0 - Simple API for XML
- SAX: Simple API for XML
- Android开发小知识-XML文件解析之SAX(Simple API for XML)
- Android XML解析(Simple API for XML(SAX) )
- SAX---SIMPLE API FOR XM
- 学习J2EE第5天(Simple API for XML)
- SAX解析(Simple API For XML)
- Simple API for XML
- Java Api for parse the xml file
- SAD Pattern: Simple API for Datagram
- Java Api for XML 与 XML 标准的对应
- Google Weather API返回XML的SAX和DOM解析当中遇到的问题及解决
- JSR 206: Java API for XML Processing (JAXP) 1.3