.
XmlFormatter är en öppen källkod Python klassen, som ger formatering av XML-dokument & nbsp; Denna formaterings skiljer sig från andra genom att hantera mellanslag genom distnict uppsättning formateringsregler (se nedan) - tänkande elementinnehåll som objekt och blandat innehåll som skriven text. Men formatering avbryts för element markerade som bevarar. Du kanske tycker att det mest användbara för arbetsuppgifter som innebär korrigeringar eller presentationer. Typisk användning ofta ser ut så här ::
från xmlformatter importFormate
formate = Forma (strecksatsen = "4")
skriva formatter.format_file ("/ home / pa / doc.xml")
Objekt Style speglar lagring av objektegenskaper. Därför alla omgivande mellanslag tas bort, sekvenser av mellanslag är kollapsade ::
& Nbsp;
& Nbsp;
& Nbsp;
Följande visar XML-dokumentet formateras av objektformat ::
& Nbsp;
& Nbsp;
Text Style speglar lagringen av en skriven text. Text väntas inom blandat innehåll. Strider därför leda och avslutande blank sätts ur textnoder i kapslade element till omgivande textnoder. Obs: Om hittas ingen text nod, infogar xmlformatter en text nod innehåller en enda blank ur den kapslade elementet. Sekvenser av mellanslag kollapsas till en enda ::
& Nbsp;
De kapslade element hanteras som objektegenskaper, men mellanslag slås samman med textnoder i stället för att tas bort :::
& Nbsp;
Båda stilarna används tillsammans i ett XML-dokument. Formateringsreglerna är:
A: omgivande mellanslag tas bort från elementet innehåll
B: ledande mellanslag tas bort från elementet innehåll
C: avslutande blank tas bort från elementet innehåll
D: ledande mellanslag i kapslade element sätts till föregående text nod (eller insatt) inom blandat innehåll
E: avslutande mellanslag i kapslade element sätts till följande textnoder (eller insatt) inom blandat innehåll
F: sekvenser av mellanslag (n> 0) ersätts av ett enda ämne "" inom elementet och blandat innehåll
G: radbrytning och blankstrecksatserna element inom element innehåll
I följande exempel markerar de beskrivna mellanslag genom sina etiketter inom ett XML-dokument ::
AAAA
AAAABBBB4.4E + 12CCC AAAA
AAAA
FFFFein riesengro & szlig; er DDDDTeddyb & auml; r , F
der en & szlig; FFFFdie MilchEEEE und Trank das BrotFFFF
und als er Starb da krig erEEEE tot .CCCC
Följande visar formaterade XML-dokument: Alla mellanslag ersätts av en enda tomt .:
& Nbsp;
& Nbsp;
Alternativ
Formatering kan påverkas av en mängd parametrar, medan byggandet av XmlFormatter objekt. Element som kommer kvar oformaterat ges i en lista med elementnamn, kallas bevara.
& Nbsp; Alla ättlingar bevarade element är kvar också oformaterad .:
& Nbsp; från xmlformatter importForma
& Nbsp; formate = xmlformatter.Formatter (bevara = ["bevara"])
& Nbsp; utskrift format.format_file ("/ home / pa / doc.xml")
Den indentering kan höjas genom strecksatsen (standard 2). Den indraget karaktär kan ställas in av indentChar.
från xmlformatter importFormate
formateraren = Formate (strecksatsen = "1", indentChar = " t")
skriva formatter.format_file ("/ home / pa / doc.xml")
Indrag kan dämpas genom inställning komprimeras till true eller välja strecksatsen = 0 .:
från xmlformatter importFormate
formate = Forma (komprimera = sant)
skriva formatter.format_file ("/ home / pa / doc.xml")
Kodningen av formaterade dokument kan ställas in med encoding_input. Som standard kodning är UTF-8 eller läsa från XML-deklaration. Kodningen av produktionen kan ställas in genom encoding_output. är:
från xmlformatter importFormate
formate = Forma (encoding_input = "ISO-8859-1", encoding_output = "ISO-8859-1")
skriva formatter.format_file ("/ home / pa / doc.xml")
Metoder
Xmlformatter kan tolka XML-dokument som ges av vägen eller snöre .:
från xmlformatter importFormate
formate = Formate ()
# Fil
skriva formatter.format_file ("/ home / pa / doc.xml")
# Sträng
formaterad = formatter.format_string ("
xmlformat.py
XmlFormatter innehåller ett kommandoradsverktyg, xmlformat.py, för att slå in XmlFormatter klass. Parametrarna namnges som alternativen ::
xmlformat [--preserve "pre, bokstav"] [--compress] [--indent num] [--outfile file] [--encoding enc] [--outencoding enc] [--help] <--infile fil | file>
xmlformat.py kan läsa från STDIN, liksom ::
& Nbsp; cat /home/pa/doc.xml | python xmlformat.py
Obs!
XmlFormatter är bygga ovanpå expat tolk, och därför begränsas av expat. XmlFormatter är publicerad under MIT-licens
Krav :.
- Python
Kommentarer hittades inte