ʹ��Xerces-J��SAX��ʽ����XML�������

����SAX2(Simple API for XML)�Ľṹ


�ڱ����У����߽����Ƚ���SAX Version 2 ��ʹ�÷��������Ժ����DOM Level 2 ��ʹ�÷�����

SAX�ӿڽ���XML�ļ��Ļ���ԭ��Ϊ�����Ȼ��һ��ʵ����SAX�ӿڵĽ����������������ͨ�����ɵ�����������˾�ṩ�ģ�Ȼ���Լ�дһ������SAX��׼�Ĵ������࣬���Ұ������ע�ᵽ�ո����õĽ�����������XML�ļ������������XML�ļ���Ϊһ���ļ�����������Ȼ���ٰ��ļ���ת����һ���¼���������¼����е����ݰ������ĵ���ʼ�������ĵ�����������Ԫ�ؿ�ʼ������Ԫ�ؽ������ȵȱ�־�ļ�״̬���¼��������¼�����ע�ᵽ��������Ĵ������������Ӧ�ķ������ڽ���������XML�ļ��Ľ�����ͬʱ��Ӧ�ó�����Ե��ý������ṩ�ķ������Խ���������Ϊ���п��ƻ��ȡ��������״̬��

SAX1������1998�����£��Ѿ���ΪXMLӦ�õ������׼��ibm/apache��sun��oracle��microsoft��֪����˾��Ҫ��Ӧ�Ľ������ṩ��SAX2�ӿ�����2000�귢���ģ�Ŀǰ��߰汾��SAX2release2pre��Ibm/apache�Ѿ��г���IJ�Ʒ�ṩ��microsoft��MSXML3.0 ������Ҳ�Ѿ���ʽ֧��SAX2��sun�Ľ�����Ŀǰ�Ѿ�����Ԥ����״̬��oracle��XML��������SAX2��֧��Ŀǰ����Beta״����SAX2�̳���SAX1�����й��ܣ���Ȼ�����¼���/�������Ĺ��ܣ�����SAX2ͬSAX1���ļ����������ڣ�

  1. ��XmlReaderȡ����Parser��
  2. ֧�����ռ䣨Namespace������������Ǻܶ�XML�ĸ߼�����������ģ�ͬʱ�������Ҳ��������SAX�ӿںܶಿ�ֵı仯��
  3. ʹ��feature�����ԣ���properties�����ԣ��ķ��������ý���������Ϊ�ͻ�ȡ������ͨ��XmlReader.setFeature(String name, boolean value )��������XmlReader����Ϊ��ͨ��XmlReader.getFeature( String name)���Ի�ȡ��ǰ����Ϊ���ԣ�ͨ��XmlReader.setProperty( String name, Object value)��������XmlReader�IJ�����ͨ��XmlReader.getProperty(String name)���Ի�ȡXmlReader�IJ�����
  4. �����Filter�����������ĸ����SAX�һ����Ӧ�ó���SAX����������һ����SAX��Ӧ�ó�����¼�������������ؽ������̡�������ijЩ����£�������Ҫ���������е���Ϣ�����޸ģ������޳�ijЩ����Ҫ����Ϣ���޸�ijЩ��Ϣ�Ӷ��򻯴������̵ȵȣ���ʱ�����е���Ϣ����Handler֮ǰ���й��˾ͳ���������Ȼ��ѡ������SAX2����˽ӿ�XmlFilter��

���˽��һ����֪ʶ֮ǰ������������Ҫ�˽���ǣ�SAX����һ��XML�Ľ������������ṩ��һ��ͨ�õĽӿڣ�����ӿ�ʹ����XML�Ľ����������໥ת������Щ֧��SAX������������ͬ�ķ��������ҿ���ͨ��Java��ϵͳ���ý������á�

SAX2�Ļ�����������Ҫ����ɲ����ǽӿ�org.xml.sax.XMLReader����org.xml.sax.helpers.DefaultHandler����SAX2�ļܹ���XMLReaderȡ����SAX1�����е�XMLParser������ʵ�ʵ�XML�ļ��Ľ�����������DefaultHandlerʵ����org.xml.sax.EntityResolver��org.xml.sax.DTDHandler��org.xml.sax.ContentHandler��org.xml.sax.ErrorHandler���ĸ��ӿڣ�ͨ���̳�����࣬���ǿ���ʵ�ֽ���XML�ļ�����������

����ı�1������XMLReader�е���Ҫ������ʹ�÷�������2����������һ������Ҫ�Ľӿ�DefaultHandler��

��1��XMLReader�е���Ҫ������ʹ�÷���
���� ʹ��˵��
ContentHandler getContentHandler() ���ص�ǰ�����ݴ�������
DTDHandler getDTDHandler() ���ص�ǰ��DTD��������
EntityResolver getEntityResolver() ���ص�ǰ��ʵ���������
ErrorHandler getErrorHandler() ���ص�ǰ�Ĵ���������
boolean getFeature(java.lang.String name) ���ؽ�������ָ�����ԡ�����Ϊ���Ե����֣�����ֵΪbooleanֵ���������Ե�ʹ�����ǻ��ں���ר�Ž��ܡ�
Object getProperty(java.lang.String name) ���ؽ�������ָ�����ԡ�����Ϊ���Ե����֣�����ַ����ǿ����Լ������ġ��������Ե�ʹ�����ǻ��ں���ר�Ž��ܡ�
void parse(InputSource input) ͨ���������������Ӧ�ó������֪ͨ��������ʼ����������ΪXML�ļ�����Դ��
void parse(java.lang.String systemId) ͨ���������������Ӧ�ó������֪ͨ��������ʼ����������ΪXML�ļ�����Դ��
void setContentHandler(ContentHandler handler) �������ݴ�������
void setDTDHandler(DTDHandler handler) ����DTD��������
void setEntityResolver(EntityResolver resolver) ����ʵ���������
void setErrorHandler(ErrorHandler handler) ����������
void setFeature(java.lang.String name, boolean value) �������ԡ���һ������Ϊ���Ե����֣��ڶ�������Ϊ���Ե�ֵ��
void setProperty(java.lang.String name, java.lang.Object value) �������ԡ���һ������Ϊ���Ե����֣��ڶ�������Ϊ���Ե�ֵ��
��2��DefaultHandler�ķ������
���� ʹ��˵��
public void characters(char[] ch, int start, int length) ��XML�ĵ��г����ַ������ݵ�ʱ��������������á���һ�������ǰ����ַ������ݵ��ַ����飬�ڶ�����������ʼλ�ã������������dz��ȡ���Ҫע����ǽ��������ܰ���һ��tag�ڰ������ַ����ֳɼ������֣���������charData�������ɴΡ�
void endDocument() ��XML�ĵ�������ʱ��������������ã��������ÿ����һ��XML�ĵ������ᱻ����һ�Ρ�
void endElement(java.lang.String uri,

java.lang.String localName,

java.lang.String qName)
����������XML�ļ���������һ��Element��ʱ����������������һ�����������ռ��URI����û������һ�����ַ������ڶ������������ռ�ľ���������û������һ�����ַ���������������Ϊtag�����֡�
void endPrefixMapping(String prefix) ���������������ռ�ӳ���������Ӧ��tag��ʱ���������������
void error(SAXParseException e)

����һ�����������Ĵ���
void fatalError(SAXParseException e) ����һ�����������Ĵ���
void ignorableWhitespace(char[] ch,

int start, int length)
����������XML�ļ������������Ժ��ԵĿհ׵�ʱ���������������ע�⣬��У���XML������Ҳ�п��ܵ������������
void notationDecl(java.lang.String name,

java.lang.String publicId,

java.lang.String systemId)
����������XML�ļ�������������������ʱ����������������һ������Ϊ���ƣ��ڶ�����publicId����������systemId��
void processingInstruction(

java.lang.String target,

java.lang.String data)
����������XML�ļ�������������ָ���ʱ��������������á����͵Ĵ���ָ����<?xml-stylesheet type="text/xml" href="14-2.xsl"?>������xml-stylesheetΪ��һ��������target�����ݣ�type="text/xml" href="14-2.xsl"Ϊ�ڶ���������data�е����ݡ�
void setDocumentLocator(Locator locator) Ϊ����������һ��Locator���Ա��ȡ�кţ��кŵ���Ϣ��
InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId) �������ڴ�һ���ⲿ��ʵ�壬����DTD�ļ�֮ǰ����������������Ӧ�ó��򿪷���һ���������޸���URI���������null��ô���������ᰴ��ԭ����URI���ⲿʵ�塣
void skippedEntity(java.lang.String name) ��������XML�ļ����з��ֲ���ʶ��ʵ��ʱ��������������������У����������ⲿ��DTD�ļ����������ͨ������У������������������
void startDocument() �ĵ���ʼʱ�������������
void startPrefixMapping(java.lang.String prefix, java.lang.String uri) ���������������ռ�ӳ���ʱ���������������ע�⣬�������ͬ��Ӧ��endPrefixMapping��һ���ɶԵ��á�
void unparsedEntityDecl(java.lang.String name, java.lang.String

publicId, java.lang.String systemId, java.lang.String notationName)
������������һ���޷�������ʵ��������ʱ��������������
void warning(SAXParseException e) ������������һ��Ӧ�þ����״̬ʱ�������������

����һ���dz���Ҫ������org.xml.sax.helpers.XMLReaderFactory��������ṩ�˴���һ��XMLReader�ķ����������ֻ���������������3��

 

��3��XMLReaderFactory�еķ���
���� ʹ��˵��
static XMLReader createXMLReader() ���������ϵͳ����org.xml.sax.driver�ж�ȡ���ݣ�Ȼ����һ��XMLReader��ʵ�������� java �CDorg.xml.sax.driver=org.apache.xerces.parsers.SAXParser xxx xxx.xml ���ᶯ̬�ؽ���һ��org.apache.xerces.parsers.SAXParser��ʵ����ΪXMLReader��
static XMLReader createXMLReader(java.lang.String className) ��һ�������������ֵ��ַ�����Ϊ��������һ��XMLReader��ʵ����

Xerces-J�е�SAX�ӿڵ�ʹ�÷����������������ܵ�?LFRED��ʹ�÷����Ƚ����ƣ�Xerces-J��SAXParser��һ��ʵ����XmlParser������࣬��ʹ��ʱ����������Ҫ������Ӧ��Handler��Ȼ�����parse��������ʱXerces��J���XML�ļ�����һ�����������水��˳����ַ�һ��һ����������������XML�ļ��е�Ԫ�ص�ʱ�������ڽ����ļ�ǰ���õ�Handler������Ӧ��Handler��������XML�ļ�������Ҫ��Handler�����н��д�����


Escati Free Counter
You are Visitor No:

View Counter Stats

This site is under construction and all of the information that you've got from this site is subject to change. This site is best viewed with Mozilla--the greatest and buggiest browser in the history!-- and IE5.5 is applicable.

Sept. 16, 2001

SourceForge Logo

�����ں�ҹ֮��ǹɱ���֡������޴���