.
XmlFormatter ay isang open source Python klase, na nagbibigay-format ng mga dokumentong XML & nbsp; format na ito ay naiiba mula sa iba sa pamamagitan ng paghawak ng whitespaces sa pamamagitan ng isang distnict hanay ng mga panuntunan sa pag-format (tingnan sa ibaba) - pag-iisip nilalaman elemento tulad ng mga bagay at halo-halong nilalaman bilang isang nakasulat na teksto. Ngunit sa pag-format ay suspendido para sa mga elemento na minarkahan bilang mapanatili. Maaari mong mahanap ito pinaka-kapaki-pakinabang para sa mga gawain na kinasasangkutan ng mga pagwawasto o mga presentasyon. Tipikal na paggamit madalas ay mukhang ganito ::
mula xmlformatter import format
-format =-format (indent = "4")
-print formatter.format_file ("/ bahay / pa / doc.xml")
Ipinapakita ng Estilo Bagay ang imbakan ng mga katangian ng bagay. Samakatuwid ang lahat ng mga nakapalibot na whitespaces ay maalis, pagkakasunud-sunod ng whitespaces ay gumuho ::
& Nbsp;
& Nbsp;
& Nbsp;
Ipinapakita ng sumusunod na mga dokumento sa XML format ng Estilo ng Bagay ::
& Nbsp;
& Nbsp;
Ipinapakita ng Teksto ng Estilo ng imbakan ng isang nakasulat na teksto. Teksto ay inaasahan sa loob ng halo-halong nilalaman. Therfore nangunguna at sumusunod whitespaces ay ilagay mula sa mga node teksto sa Nested mga elemento sa nakapalibot na node ng text. Tandaan: Kung Walang teksto ang node ay matatagpuan, xmlformatter mga pagpapasok ng text node na naglalaman ng isang solong whitespace sa labas ng Nested elemento. Pagkakasunud-sunod ng whitespaces ay gumuho sa isang solong ::
& Nbsp;
Ang Nested mga elemento tulad ng paghawak katangian ng bagay, ngunit whitespaces ay isinama sa teksto ng node sa halip na tinatanggal :::
& Nbsp;
Ang parehong mga estilo ay ginagamit nang magkasama sa isang XML na dokumento. Ang mga patakaran sa pag-format ay:
A: nakapalibot whitespaces ay maalis mula sa nilalaman na elemento
B: humahantong whitespaces ay maalis mula sa nilalaman na elemento
C: trailing whitespaces ay maalis mula sa nilalaman na elemento
D: humahantong whitespaces sa Nested mga elemento ay ilagay sa naunang teksto node (o ipinasok) sa loob ng halo-halong nilalaman
E: trailing whitespaces sa Nested mga elemento ay ilagay sa mga sumusunod na node teksto (o ipinasok) sa loob ng halo-halong nilalaman
F: pagkakasunud-sunod ng whitespaces (n> 0) ay pinalitan ng isang solong blank "" sa loob ng elemento at halo-halong nilalaman
G: LINEBREAK at whitespace indents mga elemento sa loob ng nilalaman na elemento
Ang sumusunod na halimbawa ay minamarkahan ang inilarawan whitespaces sa pamamagitan ng kanilang mga label sa loob ng isang dokumentong XML ::
AAAA
AAAABBBB4.4E + 12CCC AAAA
AAAA
FFFFein riesengro & szlig; ER DDDDTeddyb & auml; r , F
der a & szlig; FFFFdie MilchEEEE und trank das BrotFFFF
und als ER starb da digmaan erEEEE munting bata em> .CCCC
Ipinapakita ng sumusunod na mga dokumento format na XML: Lahat ng whitespaces papalitan ng isang solong blangko .:
& Nbsp;
& Nbsp;
Mga Pagpipilian
Pag-format ay maaaring maapektuhan din ng maraming mga parameter, habang pagtatayo ng mga XmlFormatter bagay. Mga Elemento na kaliwa unformatted ay ibinigay sa isang listahan ng mga pangalan ng elemento, na tinatawag na mapanatili.
& Nbsp; Lahat ng mga kaapu-apuhan ng mapapanatili ang mga elemento ay iniwan unformatted ring .:
& Nbsp; mula xmlformatter import format
& Nbsp; format = xmlformatter.Formatter (pinapanatili = ["pangalagaan"])
& Nbsp; i-print format.format_file ("/ bahay / pa / doc.xml")
-Indent ang maaaring inihahain ng indent (default 2). Ang pag-indent ng character ay maaaring itakda sa pamamagitan ng indentChar.
mula xmlformatter import format
-format =-format (indent = "1", indentChar = " t")
-print formatter.format_file ("/ bahay / pa / doc.xml")
-Indent maaaring pinigilan sa pamamagitan ng setting ng naka-compress sa true o pagpili indent = 0 .:
mula xmlformatter import format
-format =-format (compress = True)
-print formatter.format_file ("/ bahay / pa / doc.xml")
Ang pag-encode ng na-format na dokumento ay maaaring itakda sa pamamagitan ng encoding_input. Sa pamamagitan ng default na pag-encode ay UTF-8 o magbasa mula sa xml na pagpapahayag. Ang pag-encode ng output ay maaaring itakda sa pamamagitan ng encoding_output. ay:
mula xmlformatter import format
-format =-format (encoding_input = "ISO-8859-1", encoding_output = "ISO-8859-1")
-print formatter.format_file ("/ bahay / pa / doc.xml")
Pamamaraan
Maaari Xmlformatter-parse ang XML na dokumento na ibinigay ng landas o string .:
mula xmlformatter import format
-format =-format ()
# File
-print formatter.format_file ("/ bahay / pa / doc.xml")
# String
-format = formatter.format_string ("
xmlformat.py
XmlFormatter nagsasama ng isang line tool na utos, xmlformat.py, para sa wrapping XmlFormatter class. Ang mga parameter ay pinangalanan tulad ng mga pagpipilian ::
xmlformat [--preserve "pre, literal"] [--compress] [--indent num] [--outfile file] [--encoding enc] [--outencoding enc] [--help] <--infile file | file>
Maaari xmlformat.py magbasa mula sa STDIN, tulad ::
& Nbsp; pusa /home/pa/doc.xml | python xmlformat.py
Tandaan
XmlFormatter ay bumuo sa tuktok ng expat pang-parse, at samakatuwid ay limitado sa pamamagitan ng expat. XmlFormatter ay na-publish sa ilalim ng MIT lisensya
Mga Kinakailangan :.
- Python
Mga Komento hindi natagpuan