- 浏览: 411064 次
- 性别:
- 来自: 北京
最新评论
-
yadongliang:
this.class.getClassLoader().getResourceAsStream -
q316085319:
分享一篇android适配的好文章给你们,http://www ...
android 屏幕适配问题 -
wangyuheng:
一直不明白 多表操作的时候 应该怎么办 对应哪个domain ...
j2ee分层设计 -
humanchair:
"我比较喜欢搞清楚一个技术本身的发展历程,简而言之就 ...
Linux内存管理详解 -
Alex_SHT_JAVA:
写的还不错,简单易懂,3Q
android中CallBack的理解
这是一个大多数 SAX 应用程序实施的主要接口:如果需要通知应用程序基本解析事件,则它将实现此接口并且使用 在此接口中的事件顺序非常重要,它本身可镜像文档中信息的顺序。例如,在 startElement 事件与相应的 endElement 事件之间,元素的所有内容(字符数据、处理指令和/ 或子元素)都将以一定顺序出现。 此接口与现在不推荐使用的 SAX 1.0 DocumentHandler 接口相似,但它增加了对名称空间和报告跳过的实体(在非验证的 XML 处理器中)的支持。 实现者应该注意,在 实际上,不管怎样 "import ...*" 通常标志不简洁的编程,因此,用户应该将此作为一种功能而不是错误。 以下是其主要的方法: 强烈建议(但不是绝对需要)使用 SAX 解析器来提供定位器:如果是这样,则必须在调用 ContentHandler 接口中的任何其他方法之前调用此方法为应用程序提供定位器。 定位器允许应用程序确定任何与文档相关的事件的终止位置,即便是解析器不报告错误也是如此。通常情况下,应用程序将使用此信息报告它自己的错误(例如与应用程序的业务规则不匹配的字符内容)。由定位器返回的信息可能不足以供搜索引擎使用。 注意,该定位器仅在调用 SAX 事件回调期间,在 在其他任何事件回调(不包括 在此方法的说明和 SAX 解析器仅调用此方法一次,并且它将是解析期间最后调用的方法。直到解析器放弃解析(由于不可恢复的错误)或到达输入的结尾时,它才可以调用此方法。 此事件的信息对于常规的名称空间处理并非必需:当 但是,有这样几种情况,应用程序需要在字符数据或属性值中使用前缀,但在这里,前缀不能自动地安全扩展;必要时,start/endPrefixMapping 事件将为应用程序提供所需信息,以便应用程序本身可在这些上下文中扩展前缀。 注意,不能保证 start/endPrefixMapping 事件相互之间能够正确地嵌套:所有的 startPrefixMapping 事件将在相应的 对于 "xml" 前缀,永远不应有 start/endPrefixMapping 事件,因为它是预声明的和不可改变。 详细信息请参阅 解析器在 XML 文档中的每个元素的开始调用此方法;对于每个 startElement 事件都将有相应的 此事件允许每个元素最多有以下三个名称组件: 可以提供它们中的部分或全部,具体如何取决于 http://xml.org/sax/features/namespaces 和http://xml.org/sax/features/namespace-prefixes 属性的值: 注意,所提供的属性列表仅包括具有显式值(指定的或默认的)的属性:将忽略 #IMPLIED 属性。仅在 与 SAX 解析器会在 XML 文档中每个元素的末尾调用此方法;对于每个 endElement 事件都将有相应的 有关名称的信息,请参见 startElement。 解析器将调用此方法来报告字符数据的每个存储块。SAX 解析器能够用单个存储块返回所有的连续字符数据,或者可以将该数据拆分成几个存储块;但是,任何单个事件中的全部字符都必须来自同一个外部实体,以便定位器能够提供有用的信息。 应用程序不能尝试在指定的范围外从数组中读取数据。 单独的字符可以由不止一个 Java 编写代码时不能假定一次读入一个 注意,有些解析器将使用 验证解析器必须使用此方法来报告元素内容中的每块空白(请参阅“W3C XML 1.0 Recommendation”中的 2.10 节):如果非验证解析器能够解析和使用内容模块,则这些非验证解析器也可以使用此方法。 SAX 解析器能够用单个存储块返回所有的连续空白,或者可以将该数据拆分成几个存储块;但是,任何单个事件中的全部字符都必须来自同一个外部实体,以便定位器能够提供有用的信息。 应用程序不能尝试在指定的范围外从数组中读取数据。 解析器将为找到的每个处理指令调用一次此方法:注意,处理指令可以出现在主要文档元素的前面或后面。 SAX 解析器必须从不使用此方法报告 XML 声明(XML 1.0 的 2.8 节)或文本声明(XML 1.0 的 4.3.1 节)。 与 解析器将在每次跳过实体时调用此方法。如果非验证处理器尚未看到声明,则可以跳过实体(例如,因为该实体在外部 DTD 子集中声明)。所有的处理器都可以跳过外部实体,但具体情况取决于 接口 org.xml.sax.ContentHandler
setContentHandler
方法,向 SAX 解析器注册一个实例。解析器将使用该实例报告与基本文档相关的事件,如启动和终止元素与字符数据。java.net
包中还有一个 ContentHandler
类;这意味着以下实现方法可能并非明智之举import java.net.*;
import org.xml.sax.*;
setDocumentLocator
void setDocumentLocator(Locator locator)
startDocument
返回之后,调用 endDocument
之前,返回正确的信息。应用程序不应该尝试在任何时间都使用它。locator
- 可以返回任何 SAX 文档事件位置的对象Locator
startDocument
void startDocument() throws SAXException
setDocumentLocator
)之前,SAX 解析器仅调用此方法一次。SAXException
- 任何 SAX 异常,可能包装另外的异常endDocument()
endDocument
void endDocument() throws SAXException
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
的说明之间存在着明显的冲突。在未来的主版本中解决这一不明确问题之后,关于解析器报告 fatalError() 或抛出异常后是否调用 endDocument() 这一点,客户将会十分明确。SAXException
- 任何 SAX 异常,可能包装另外的异常startDocument()
startPrefixMapping
void startPrefixMapping(String prefix, String uri) throws SAXException
http://xml.org/sax/features/namespaces
功能为true(默认)时,SAX XML 读取器将自动替换元素和属性名称的前缀。startElement
事件之前立即发生,所有的 endPrefixMapping
事件将在相应的 endElement
事件之后立即发生,但在其他情况下不能保证其顺序。prefix
- 声明的名称空间前缀。对于没有前缀的默认元素名称空间,使用空字符串。uri
- 将前缀映射到的名称空间 URISAXException
- 客户端可能会在处理期间抛出一个异常endPrefixMapping(java.lang.String)
, startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
endPrefixMapping
void endPrefixMapping(String prefix) throws SAXException
startPrefixMapping
。这些事件将始终在相应的 endElement
事件之后立即发生,但在其他情况下 endPrefixMapping
事件的顺序不能保证。prefix
- 被映射的前缀。当默认的映射范围结束时,这是一个空字符串。SAXException
- 客户端可能会在处理期间抛出一个异常startPrefixMapping(java.lang.String, java.lang.String)
, endElement(java.lang.String, java.lang.String, java.lang.String)
startElement
void startElement(String uri, String localName, String qName, Attributes atts) throwsSAXException
endElement
事件(即使该元素为空时)。所有元素的内容都将在相应的 endElement 事件之前顺序地报告。
http://xml.org/sax/features/namespace-prefixes
属性为 true (默认情况下为 false,并且对 true 值的支持是可选项)时属性列表才包括用于名称空间声明(xmlns* 属性)的属性。characters()
一样,属性值可以具有需要不止一个 char
值的字符。uri
- 名称空间 URI,如果元素没有名称空间 URI,或者未执行名称空间处理,则为空字符串localName
- 本地名称(不带前缀),如果未执行名称空间处理,则为空字符串qName
- 限定名(带有前缀),如果限定名不可用,则为空字符串atts
- 连接到元素上的属性。如果没有属性,则它将是空 Attributes 对象。在 startElement 返回后,此对象的值是未定义的SAXException
- 任何 SAX 异常,可能包装另外的异常endElement(java.lang.String, java.lang.String, java.lang.String)
, Attributes
,AttributesImpl
endElement
void endElement(String uri, String localName, String qName) throws SAXException
startElement
事件(即使该元素为空时)。uri
- 名称空间 URI,如果元素没有名称空间 URI,或者未执行名称空间处理,则为空字符串localName
- 本地名称(不带前缀),如果未执行名称空间处理,则为空字符串qName
- 限定的 XML 名称(带前缀),如果限定名不可用,则为空字符串SAXException
- 任何 SAX 异常,可能包装另外的异常
characters
void characters(char[] ch, int start, int length) throws SAXException
char
值组成。由于不能仅用十六位来表示字符,所以发生此情况的重要情形有两种。一种情形是,字符用代理项对 表示,使用两个特殊的 Unicode 值。此类字符在所谓的 "Astral Planes" 中,代码点在 U+FFFF 之上。另一种情形涉及到复合字符,如由一个或多个重音字符构成的基本字符。char
的算法将适用于字符单元;在某些情况下这些算法将拆分一些字符。这与在什么情况下 XML 允许有任意字符(如属性值、处理指令数据、注解以及从此方法中报告的数据)相关。通常还与 Java 代码控制国际化的文本时相关;该问题不是 XML 独有的。ignorableWhitespace
方法而不是此方法报告元素内容中的空白(验证解析器必须 这么做)。ch
- 来自 XML 文档的字符start
- 数组中的开始位置length
- 从数组中读取的字符的个数SAXException
- 任何 SAX 异常,可能包装另外的异常ignorableWhitespace(char[], int, int)
, Locator
ignorableWhitespace
void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
ch
- 来自 XML 文档的字符start
- 数组中的开始位置length
- 从数组中读取的字符的个数SAXException
- 任何 SAX 异常,可能包装另外的异常characters(char[], int, int)
processingInstruction
void processingInstruction(String target, String data) throws SAXException
characters()
一样,处理指令数据可以具有需要不止一个 char
值的字符。target
- 处理指令目标data
- 处理指令数据,如果未提供,则为 null。该数据不包括将其与目标分开的任何空白SAXException
- 任何 SAX 异常,可能包装另外的异常。
skippedEntity
void skippedEntity(String name) throws SAXException
http://xml.org/sax/features/external-general-entities
和 http://xml.org/sax/features/external-parameter-entities
属性的值。name
- 所跳过的实体的名称。如果它是参数实体,则名称将以 '%' 开头,如果它是外部 DTD 子集,则将是字符串 "[dtd]"SAXException
- 任何 SAX 异常,可能包装另外的异常
发表评论
-
Android Retrofit的使用
2016-08-22 15:57 1338原文 http://blog.fangjie. ... -
如何使用-9Path工具
2014-09-11 11:09 10801、什么是9Path 它是一个对png图片做处理的一个工具 ... -
Android的onLayout、layout方法讲解
2014-09-11 11:10 3245onLayout方法是ViewGroup中子View的布局 ... -
android-View工作原理(四)view的layout过程
2014-09-10 15:29 12385刚过完自己的本命年,新的一年希望自己有个新的开始,祝自己在 ... -
android-View工作原理(三)视图大小计算过程(measure过程)
2014-09-10 15:28 6997一、android中view的measure过程总概 视 ... -
android- View工作原理(二)导致View重建原因
2014-09-10 15:27 1810导致View重建的原因有三个: 1、视图本身内部状态变化 ... -
android-View工作原理(一)事件传递原理详解
2014-09-10 15:25 3295转载请说明出处:http://blog.csdn.net/f ... -
Android-view事件传递机制
2014-09-10 15:21 1803Android中dispatchTouchEvent,onI ... -
利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
2014-09-01 17:07 4365http://blog.csdn.net/rhljiayou ... -
Canvas drawText
2014-09-01 17:04 4434String str ="测试字符串"; ... -
Canvas的save和restore
2014-08-29 17:54 862http://www.cnblogs.com/xirihan ... -
Android中View的绘制过程 onMeasure方法简述 附有自定义View例子
2014-08-29 16:47 1285http://www.cnblogs.com/mengdd/ ... -
Android中View绘制流程以及invalidate()等相关方法分析
2014-08-29 16:46 1074http://blog.csdn.net/qinjuning ... -
view.getDrawingCache为空的解决办法
2014-08-29 16:40 4225http://blog.csdn.net/huangbiao ... -
LinearLayout 自动换行
2014-08-22 16:05 3021由于前段时间项目中使 ... -
android之自定义ViewGroup和自动换行的布局的实现
2014-08-22 16:03 944http://www.cnblogs.com/slider/ ... -
用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
2014-08-22 16:04 1048http://blog.csdn.net/hitlion2 ... -
获取Android控件的宽和高
2014-04-22 16:10 1130http://blog.csdn.net/johnny901 ... -
使用LruCache缓存图片
2014-02-21 10:28 4642转载请注明出处http://blog.csdn.net/xi ... -
LruCache 缓存图片
2014-02-21 10:22 793http://www.bdqn.cn/news/201307 ...
相关推荐
Apache :: ContentHandler是用于创建基于mod_perl的应用程序的通用框架。 它提供了基本的事件机制和可自定义操作的可子类化框架。
SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。 SAX解析XML文件采用的是事件驱动,也就是说...所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口
值得注意的是,在使用ContentHandler时,他在这个包下:org.xml.sax.*而通常我们在解析XML时会与网络发生交互,常常会导入以下这个包: import java.net.*; 在这个包下面也有一个ContentHandler,这样会发生错误. 更为...
下面是一个SAX解析XML的示例(有点长,因为详细注解了SAX事件处理的所有方法),SAX API中主要有四种处理事件的接口,它们分别是ContentHandler,DTDHandler, EntityResolver 和 ErrorHandler 。下面的例子可能...
b、可以注册多个ContentHandler 缺点: a、不能随机的访问xml中的节点 b、不能修改文档 3、【JDOM】 JDOM是纯Java的处理XML的API,其API中大量使用Collections类, 优点: a、DOM方式的优点 b、具有SAX的Java...
import android.os.Bundle; import android.os.Handler;... ContentHandler handler = new ContentHandler(); // 将ContentHandler的实例设置到XMLReader中 xmlReader.setContentHandler(handler); ...
// SAX 2.0 ContentHandler. TransformerHandler hd = null; try { out = response.getWriter(); StreamResult streamResult = new StreamResult(out); // Used for writing debug errors to the screen. ...
&1.XML简介 XML的背景 1) XML代表可扩展的标记语言(eXtensible Markup Language); 2) XML由W3C联盟发展维护; 3) XML是一种元语言,可以用来定义其它标签语言; 4) XML没有定义任何标记,它提供了一种工具定义...
12.4.2 实现一个自己的ContentHandler 12.4.3 Activity的实现 12.5 本章小结 第13章 Android综合案例二——基于GoogleMap开发个人移动地图 13.1 项目UI规划 13.2 数据存储实现 13.2.1 设计数据库及表结构 13.2.2 ...
The ContentHandler Class Section 17.3. The ContentHandlerFactory Interface Section 17.4. A Content Handler for the FITS Image Format Chapter 18. Remote Method Invocation Section 18.1. What Is...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...
ContentHandler类 592 ContentHandlerFactory接口 603 FITS图片格式的内容处理器 606 第十八章 远程方法调用 617 何为远程方法调用? 617 实现 623 在运行时加载类 631 java.rmi包 634 java.rmi.registry包 ...