xml.sax.saxutils
--- SAX 工具程式¶
The modulexml.sax.saxutils
contains a number of classes and functionsthat are commonly useful when creating SAX applications, either in direct use,or as base classes.
- xml.sax.saxutils.escape(data,entities={})¶
Escape
'&'
,'<'
, and'>'
in a string of data.You can escape other strings of data by passing a dictionary as the optionalentities parameter. The keys and values must all be strings; each key will bereplaced with its corresponding value. The characters
'&'
,'<'
and'>'
are always escaped, even ifentities is provided.備註
This function should only be used to escape characters thatcan't be used directly in XML. Do not use this function as a generalstring translation function.
- xml.sax.saxutils.unescape(data,entities={})¶
Unescape
'&'
,'<'
, and'>'
in a string of data.You can unescape other strings of data by passing a dictionary as the optionalentities parameter. The keys and values must all be strings; each key will bereplaced with its corresponding value.
'&'
,'<'
, and'>'
are always unescaped, even ifentities is provided.
- xml.sax.saxutils.quoteattr(data,entities={})¶
Similar to
escape()
, but also preparesdata to be used as anattribute value. The return value is a quoted version ofdata with anyadditional required replacements.quoteattr()
will select a quotecharacter based on the content ofdata, attempting to avoid encoding anyquote characters in the string. If both single- and double-quote charactersare already indata, the double-quote characters will be encoded anddatawill be wrapped in double-quotes. The resulting string can be used directlyas an attribute value:>>>print("<element attr=%s>"%quoteattr("ab ' cd\" ef"))<element attr="ab ' cd " ef">
This function is useful when generating attribute values for HTML or any SGMLusing the reference concrete syntax.
- classxml.sax.saxutils.XMLGenerator(out=None,encoding='iso-8859-1',short_empty_elements=False)¶
This class implements the
ContentHandler
interfaceby writing SAXevents back into an XML document. In other words, using anXMLGenerator
as the content handler will reproduce the original document being parsed.outshould be a file-like object which will default tosys.stdout.encoding isthe encoding of the output stream which defaults to'iso-8859-1'
.short_empty_elements controls the formatting of elements that contain nocontent: ifFalse
(the default) they are emitted as a pair of start/endtags, if set toTrue
they are emitted as a single self-closed tag.在 3.2 版的變更:新增short_empty_elements 參數。
- classxml.sax.saxutils.XMLFilterBase(base)¶
This class is designed to sit between an
XMLReader
and the clientapplication's event handlers. By default, it does nothing but pass requests upto the reader and events on to the handlers unmodified, but subclasses canoverride specific methods to modify the event stream or the configurationrequests as they pass through.
- xml.sax.saxutils.prepare_input_source(source,base='')¶
This function takes an input source and an optional base URL and returns afully resolved
InputSource
object ready forreading. The input source can be given as a string, a file-like object, oranInputSource
object; parsers will use thisfunction to implement the polymorphicsource argument to theirparse()
method.