曝光台 注意防骗
网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者
现该接口,并通过s e t D o c u m e n t H a n d l e r方法向S A X解析器注册实例。解析器使用该实例报告与文
档相关的基本事件,例如:元素和字符数据的开始及结束。
在该接口中,事件的顺序至关重要,它反映了文档中信息的顺序。例如,元素的所有内容
(字符数据、处理指令和/或子元素)将依次出现在s t a r t E l e m e n t事件和相应的e n d E l e m e n t事件之
间。
不希望实现整个接口的应用程序编写者可以继承H a n d l e r B a s e类,该类实现了缺省的功能;
解析器编写者可以通过实例化H a n d l e r B a s e 类,获得缺省的处理器。应用程序可以利用
s e t D o c u m e n t L o c a t o r方法通过P a r s e r提供的L o c a t o r接口获得任何文档事件的位置。
表C - 2
名称描述
c h a r a c t e r s 接收字符数据的通知
public void characters( P a r s e r将调用这个方法报告每个字符数据块。S A X解析器可以在
char ch[], 一个数据块中返回所有相邻的字符数据,或者将它们分为若干块;
int start, 然而,任何一个事件中的所有字符必须来自同一外部实体,以便L o c a t o r
int length) 能够提供有价值的信息
throws SAXException 应用程序不能试图读取指定范围之外的数组,而且不能向数组写
入数据
某些解析器使用i g n o r a b l e W h i t e s p a c e ( )方法(而不是本方法)报
告空白字符(验证有效性的解析器必须具备该功能)
参数:
c h——X M L文档中的字符
s t a r t——数组中的起始位置
l e n g t h——从数组中读取的字符数
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
e n d D o c u m e n t 接收文档结束的通知。
public void endDocument() 对于每个文档,S A X解析器只能调用一次本方法,它将是解析过程
throws SAXException 中调用的最后一个方法。除非解析过程(由于不可恢复的错误)无
法继续,或者达到输入的结尾,否则解析器不会调用本方法
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
e n d E l e m e n t 接收元素结束的通知。
public void endElement( S A X解析器将在X M L文档中每个元素的结尾调用本方法;对于
String name) 每个e n d E l e m e n t ( )事件,都有相应的
s t a r t E l e m e n t ( )事件(即使元素为空)
throws SAXException 如果元素名称有命名空间前缀,则名称中仍然要保留该
前缀
参数:
n a m e——元素类型名称。
抛出:S A X E x c e p t i o n
890使用XML 高级编程
下载
(续)
名称描述
任何S A X异常,可能包含其他异常
i g n o r a b l e W h i t e s p a c e 接收元素内容中可忽略的空白通知
public void 验证有效性的解析器必须使用本方法报告每个可忽略的空白块
i g n o r a b l e W h i t e s p a c e ( (参见W3C XML 1.0建议的2 . 1 0节):对于不验证有效性的解析器,如
char ch[], 果它们能够解析并使用内容模型,也可以使用本方法
int start, S A X解析器可以在一个数据块中返回所有相邻的字符数据,或者将
int length) 它们分为若干块;然而,任何一个事件中的所有字符必须来自同一外
throws SAXException 部实体,以便L o c a t o r能够提供有价值的信息
应用程序不能试图读取指定范围之外的数组,而且不能向数组写
入数据
参数:
c h——X M L文档中的字符
s t a r t——数组中的起始位置
l e n g t h——从数组中读取的字符数
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
p r o c e s s i n g I n s t r u c t i o n 接收处理指令的通知
public void 对于每个被发现的处理指令,P a r s e r将调用此一次本方法:处理指
p r o c e s s i n g I n s t r u c t i o n ( 令可以出现在主文档元素之前或之后
String targ e t , S A X解析器不能使用本方法报告X M L声明(XML 1.0的2 . 8节)或
String data) 文本声明(XML 1.0的4 . 3 . 1节)
参数:
throws SAXException t a rg e t—处理指令的目标
d a t a—处理指令数据,如果未提供任何处理指令,则返回空
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
s e t D o c u m e n t L o c a t o r 接收用于定位S A X文档事件源的对象
public void 强烈建议(但并非绝对需要) S A X解析器提供L o c a t o r:
s e t D o c u m e n t L o c a t o r ( 如果它能够提供L o c a t o r,它必须在调用D o c u m e n t H a n d l e r接口中
Locator locator) 的任何其他方法之前,通过调用本方法为应用程序提供L o c a t o r
L o c a t o r使得应用程序能够确定任何与文档相关的事件的结束位
置,即使解析器没有报告错误。典型情况下,应用程序将使用该信
息报告自己的错误(例如:与应用程序的商业规则不匹配的字符内
容)。如果要将定位器作为搜索引擎,它返回的信息恐怕不够充足
需要注意的是,只有在调用本接口的事件的过程中,定位器才能
够返回正确的信息。应用程序不能在其他时刻使用该方法。
参数:
l o c a t o r——能够返回任何S A X文档事件位置的对象
s t a r t D o c u m e n t 接收文档开始的通知
public void startDocument() 对于每个文档,S A X解析器只能在调用本接口或D T D H a n d l e r中
的其他方法(除了s e t D o c u m e n t L o c a t o r)
throws SAXException 之前调用一次本方法
附录C SAX 1.0: XML简单API使用891 下载
(续)
名称描述
抛出:S A X E x c e p t i o n
任何S A X异常,可能包含其他异常
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:
XML高级编程下(113)