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