非常教程

Python参考手册

结构化标记 | Structured Markup

xml.sax

2.0版本中的新功能。

xml.sax软件包提供了许多实现Python简单API(SAX)接口的模块。程序包本身提供SAX异常和SAX API用户最常使用的便利功能。

Warning

xml.sax模块对恶意构建的数据不安全。如果您需要解析不可信或未经身份验证的数据,请参阅XML漏洞。

便利功能是:

xml.sax.make_parser([parser_list])

创建并返回一个SAX XMLReader对象。找到的第一个解析器将被使用。如果提供了parser_list,它必须是一个字符串序列,这些字符串命名具有名为函数的模块create_parser()parser_list中列出的模块将在解析器默认列表中的模块之前使用。

xml.sax.parse(filename_or_stream, handler[, error_handler])

创建一个SAX解析器并用它来解析文档。 以filename_or_stream形式传入的文档可以是文件名或文件对象。 处理程序参数需要是SAX ContentHandler实例。 如果给出error_handler,它必须是一个SAX ErrorHandler实例; 如果省略,则会在所有错误中引发SAXParseException。 没有回报价值; 所有的工作必须由传入的处理程序来完成。

xml.sax.parseString(string, handler[, error_handler])

与parse()类似,但从作为参数接收的缓冲区字符串中解析。

典型的SAX应用程序使用三种对象:读者,处理程序和输入源。在这种情况下,“读者”是解析器的另一个术语,即某些代码从输入源读取字节或字符,并产生一系列事件。事件然后被分配给处理程序对象,即读者调用处理程序上的方法。因此,SAX应用程序必须获取reader对象,创建或打开输入源,创建处理程序并将这些对象连接在一起。作为准备的最后一步,读者被调用来解析输入。在解析过程中,处理程序对象的方法基于来自输入数据的结构和语法事件来调用。

对于这些对象,只有接口是相关的; 它们通常不是由应用程序本身实例化的。 由于Python没有明确的接口概念,因此它们被正式引入为类,但是应用程序可能会使用不从所提供的类继承的实现。 InputSource,Locator,Attributes,AttributesNS和XMLReader接口在模块xml.sax.xmlreader中定义。 处理程序接口在xml.sax.handler中定义。 为了方便,InputSource(通常直接实例化)和处理程序类也可以从xml.sax中获得。 这些接口如下所述。

除这些类外,xml.sax还提供以下异常类。

exception xml.sax.SAXException(msg[, exception])

封装XML错误或警告。该类可以包含来自XML解析器或应用程序的基本错误或警告信息:它可以被分类以提供附加功能或添加本地化。请注意,虽然ErrorHandler界面中定义的处理程序会接收此异常的实例,但实际并不需要引发异常 - 它也可用作信息容器。

实例化时,msg 应该是错误的可读描述。可选的异常参数(如果给出)应该是None解析代码捕获的异常,并作为信息传递。

这是其他SAX异常类的基类。

exception xml.sax.SAXParseException(msg, exception, locator)

解析错误引发SAXException的子类。 将此类的实例传递给SAX ErrorHandler接口的方法,以提供有关分析错误的信息。 该类支持SAX Locator接口以及SAXException接口。

exception xml.sax.SAXNotRecognizedException(msg[, exception])

当SAX XMLReader遇到无法识别的特征或属性时引发SAXException的子类。 SAX应用程序和扩展可能会将此类用于类似目的。

exception xml.sax.SAXNotSupportedException(msg[, exception])

SAXException的子类在SAX XMLReader被要求启用不支持的功能或将属性设置为实现不支持的值时引发。 SAX应用程序和扩展可能会将此类用于类似目的。

扩展内容

SAX:XML的简单API这个站点是定义SAX API的焦点。 它提供了Java实现和在线文档。 实现和历史信息的链接也可用。 模块xml.sax.handler应用程序提供的对象的接口定义。 模块xml.sax.saxutils用于SAX应用程序的便捷函数。 模块xml.sax.xmlreader解析器提供的对象的接口定义。

1. SAXException对象

SAXException异常类支持下列方法:

SAXException.getMessage()

返回描述错误情况的可读信息。

SAXException.getException()

返回一个封装的异常对象,或者None

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法