xml.sax.saxutils ---SAX实用程序

源代码: Lib/xml/sax/saxutils.py


模块 xml.sax.saxutils 包含许多在直接使用或作为基类创建SAX应用程序时通常有用的类和函数。

xml.sax.saxutils.escape(data, entities={})

逃逸 '&''<''>' 在一系列数据中。

您可以通过将字典作为可选项传递来转义其他数据字符串。 实体 参数。键和值都必须是字符串;每个键都将替换为其相应的值。人物形象 '&''<''>' 总是逃运行,即使 实体 提供。

xml.sax.saxutils.unescape(data, entities={})

脱逃 '&amp;''&lt;''&gt;' 在一系列数据中。

通过将字典作为可选项传递,可以取消对其他数据字符串的搜索。 实体 参数。键和值都必须是字符串;每个键都将替换为其相应的值。 '&amp''&lt;''&gt;' 即使是在 实体 提供。

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 &quot; ef">

当使用引用具体语法为HTML或任何SGML生成属性值时,此函数非常有用。

class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)

此类实现 ContentHandler 通过将SAX事件写回XML文档来实现接口。换句话说,使用 XMLGenerator 因为内容处理程序将复制正在解析的原始文档。 out 应该是类似文件的对象,默认为 sys.stdout . encoding 是输出流的编码,默认为 'iso-8859-1' . short_empty_elements 控制不包含内容的元素的格式:if 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 对象;解析器将使用此函数实现多态性 source 他们的参数 parse() 方法。