xml.sax.saxutils — SAX 实用程序 — Python 文档
xml.sax.saxutils — SAX 实用程序
源代码: :source:`Lib/xml/sax/saxutils.py`
模块 xml.sax.saxutils 包含许多在创建 SAX 应用程序时通常有用的类和函数,可以直接使用,也可以作为基类使用。
- xml.sax.saxutils.escape(data, entities={})
转义一串数据中的
'&'
、'<'
和'>'
。您可以通过将字典作为可选的 entities 参数传递来转义其他数据字符串。 键和值必须都是字符串; 每个键都将替换为其相应的值。 字符
'&'
、'<'
和'>'
总是被转义,即使提供了 entities。
- xml.sax.saxutils.unescape(data, entities={})
对一串数据中的
'&'
、'<'
和'>'
进行转义。您可以通过将字典作为可选的 entities 参数传递来对其他数据字符串进行转义。 键和值必须都是字符串; 每个键都将替换为其相应的值。
'&'
、'<'
和'>'
始终未转义,即使提供了 entities。
- xml.sax.saxutils.quoteattr(data, entities={})
类似于 escape(),但也准备了 data 用作属性值。 返回值是 data 的引用版本,带有任何额外的必需替换。 quoteattr() 将根据 data 的内容选择一个引号字符,试图避免对字符串中的任何引号字符进行编码。 如果单引号和双引号字符已经在 data 中,那么双引号字符将被编码并且 data 将被包裹在双引号中。 结果字符串可以直接用作属性值:
>>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef")) <element attr="ab ' cd " ef">
当使用参考具体语法为 HTML 或任何 SGML 生成属性值时,此函数很有用。
- class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)
此类通过将 SAX 事件写回 XML 文档来实现 ContentHandler 接口。 换句话说,使用 XMLGenerator 作为内容处理程序将重现被解析的原始文档。 out 应该是一个类似文件的对象,默认为 sys.stdout。 encoding 是输出流的编码,默认为
'iso-8859-1'
。 short_empty_elements 控制不包含内容的元素的格式:如果False
(默认)它们作为一对开始/结束标签发出,如果设置为True
它们作为单个自闭合标签发出。3.2 新功能: short_empty_elements 参数。
- class xml.sax.saxutils.XMLFilterBase(base)
- 此类旨在位于 XMLReader 和客户端应用程序的事件处理程序之间。 默认情况下,它只会将请求传递给读取器并将事件传递给未修改的处理程序,但是子类可以覆盖特定方法以在事件流或配置请求通过时修改它们。
- xml.sax.saxutils.prepare_input_source(source, base=)
- 此函数接受一个输入源和一个可选的基本 URL,并返回一个完全解析的 InputSource 对象以供读取。 输入源可以是字符串、类文件对象或 InputSource 对象; 解析器将使用此函数实现其
parse()
方法的多态 source 参数。