xml.sax.saxutils
--- SAX 工具集?
xml.sax.saxutils
模塊包含一些在創(chuàng)建 SAX 應(yīng)用程序時(shí)十分有用的類(lèi)和函數(shù),它們可以被直接使用,或者是作為基類(lèi)使用。
- xml.sax.saxutils.escape(data, entities={})?
對(duì)數(shù)據(jù)字符串中的
'&'
,'<'
和'>'
進(jìn)行轉(zhuǎn)義。你可以通過(guò)傳入一個(gè)字典作為可選的 entities 形參來(lái)對(duì)其他字符串?dāng)?shù)據(jù)進(jìn)行轉(zhuǎn)義。 字典的鍵和值必須為字符串;每個(gè)鍵將被替換為其所對(duì)應(yīng)的值。 字符
'&'
,'<'
和'>'
總是會(huì)被轉(zhuǎn)義,即使提供了 entities。
- xml.sax.saxutils.unescape(data, entities={})?
對(duì)字符串?dāng)?shù)據(jù)中的
'&'
,'<'
和'>'
進(jìn)行反轉(zhuǎn)義。你可以通過(guò)傳入一個(gè)字典作為可選的 entities 形參來(lái)對(duì)其他數(shù)據(jù)字符串進(jìn)行轉(zhuǎn)義。 字典的鍵和值必須都為字符串;每個(gè)鍵將被替換為所對(duì)應(yīng)的值。
'&'
,'<'
和'>'
將總是保持不被轉(zhuǎn)義,即使提供了 entities。
- xml.sax.saxutils.quoteattr(data, entities={})?
類(lèi)似于
escape()
,但還會(huì)對(duì) data 進(jìn)行處理以將其用作屬性值。 返回值是 data 加上任何額外要求的替換的帶引號(hào)版本。quoteattr()
將基于 data 的內(nèi)容選擇一個(gè)引號(hào)字符,以盡量避免在字符串中編碼任何引號(hào)字符。 如果單雙引號(hào)字符在 data 中都存在,則雙引號(hào)字符將被編碼并且 data 將使用雙引號(hào)來(lái)標(biāo)記。 結(jié)果字符串可被直接用作屬性值:>>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef")) <element attr="ab ' cd " ef">
此函數(shù)適用于為 HTML 或任何使用引用實(shí)體語(yǔ)法的 SGML 生成屬性值。
- class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)?
這個(gè)類(lèi)通過(guò)將 SAX 事件寫(xiě)回到 XML 文檔來(lái)實(shí)現(xiàn)
ContentHandler
接口。 換句話(huà)說(shuō),使用XMLGenerator
作為內(nèi)容處理程序?qū)⒅匦庐a(chǎn)生所解析的原始文檔。 out 應(yīng)當(dāng)為一個(gè)文件類(lèi)對(duì)象,它默認(rèn)將為 sys.stdout。 encoding 為輸出流的編碼格式,它默認(rèn)將為'iso-8859-1'
。 short_empty_elements 控制不包含內(nèi)容的元素的格式化:如為False
(默認(rèn)值) 則它們會(huì)以開(kāi)始/結(jié)束標(biāo)記對(duì)的形式被發(fā)送,如果設(shè)為True
則它們會(huì)以單個(gè)自結(jié)束標(biāo)記的形式被發(fā)送。3.2 新版功能: short_empty_elements 形參。
- class xml.sax.saxutils.XMLFilterBase(base)?
這個(gè)類(lèi)被設(shè)計(jì)用來(lái)分隔
XMLReader
和客戶(hù)端應(yīng)用的事件處理程序。 在默認(rèn)情況下,它除了將請(qǐng)求傳送給讀取器并將事件傳送給處理程序之外什么都不做,但其子類(lèi)可以重載特定的方法以在傳送它們的時(shí)候修改事件流或配置請(qǐng)求。
- xml.sax.saxutils.prepare_input_source(source, base='')?
此函數(shù)接受一個(gè)輸入源和一個(gè)可選的基準(zhǔn) URL 并返回一個(gè)經(jīng)過(guò)完整解析可供讀取的
InputSource
。 輸入源的給出形式可以為字符串、文件類(lèi)對(duì)象或InputSource
對(duì)象;解析器將使用此函數(shù)來(lái)針對(duì)它們的parse()
方法實(shí)現(xiàn)多態(tài) source 參數(shù)。