xml.sax.saxutils
— SAX-verktyg¶
Källkod: Lib/xml/sax/saxutils.py
Modulen xml.sax.saxutils
innehåller ett antal klasser och funktioner som ofta är användbara när man skapar SAX-applikationer, antingen för direkt användning eller som basklasser.
- xml.sax.saxutils.escape(data, entities={})¶
Escape
'&'
,'<'
och'>'
i en datasträng.Du kan undkomma andra datasträngar genom att skicka en ordbok som den valfria parametern entities. Nycklarna och värdena måste alla vara strängar; varje nyckel kommer att ersättas med motsvarande värde. Tecknen
'&'
,'<'
och'>'
escapas alltid, även om entities anges.Anteckning
Denna funktion bör endast användas för att escapa tecken som inte kan användas direkt i XML. Använd inte den här funktionen som en allmän strängöversättningsfunktion.
- xml.sax.saxutils.unescape(data, entities={})¶
Avlägsna
'&'
,'<'
och'>'
i en datasträng.Du kan unescape andra datasträngar genom att skicka en ordbok som den valfria parametern entities. Nycklarna och värdena måste alla vara strängar; varje nyckel kommer att ersättas med motsvarande värde.
'&'
,'<'
och'>'
avkodas alltid, även om entities anges.
- xml.sax.saxutils.quoteattr(data, entities={})¶
Liknar
escape()
, men förbereder också data för att användas som ett attributvärde. Returvärdet är en citerad version av data med eventuella ytterligare nödvändiga ersättningar.quoteattr()
väljer ett citattecken baserat på innehållet i data och försöker undvika att koda alla citattecken i strängen. Om både enkla och dubbla citattecken redan finns i data, kodas de dubbla citattecknen och data omsluts av dubbla citattecken. Den resulterande strängen kan användas direkt som ett attributvärde:>>> print("<element attr=%s>" % quoteattr("ab ' cd \" ef")) <element attr="ab ' cd " ef">
Denna funktion är användbar när man genererar attributvärden för HTML eller SGML som använder syntaxen för referensbetong.
- class xml.sax.saxutils.XMLGenerator(out=None, encoding='iso-8859-1', short_empty_elements=False)¶
Den här klassen implementerar gränssnittet
ContentHandler
genom att skriva tillbaka SAX-händelser till ett XML-dokument. Med andra ord, om man använder enXMLGenerator
som innehållshanterare kommer originaldokumentet att återskapas när det analyseras. out bör vara ett filliknande objekt som standard kommer att vara sys.stdout. encoding är kodningen av utdataströmmen som standard är'iso-8859-1'
. short_empty_elements kontrollerar formateringen av element som inte innehåller något innehåll: omFalse
(standard) sänds de ut som ett par start/slut-taggar, om de sätts tillTrue
sänds de ut som en enda självstängd tagg.Ändrad i version 3.2: Parametern short_empty_elements har lagts till.
- class xml.sax.saxutils.XMLFilterBase(base)¶
Denna klass är utformad för att sitta mellan en
XMLReader
och klientapplikationens händelsehanterare. Som standard gör den inget annat än att skicka förfrågningar upp till läsaren och händelser vidare till hanterarna omodifierade, men underklasser kan åsidosätta specifika metoder för att modifiera händelseströmmen eller konfigurationsförfrågningarna när de passerar igenom.
- xml.sax.saxutils.prepare_input_source(source, base='')¶
Denna funktion tar en indatakälla och en valfri bas-URL och returnerar ett fullständigt upplöst
InputSource
-objekt som är klart för läsning. Indatakällan kan anges som en sträng, ett filliknande objekt eller ettInputSource
-objekt; parsers kommer att använda denna funktion för att implementera det polymorfa source-argumentet till sinparse()
-metod.