.
XmlFormatter jest klasa otwarta Python źródła, które zapewnia formatowanie dokumentów XML & nbsp; to formater różni się od innych przez obsługę spacje przez zestaw distnict reguł formatowania (patrz poniżej) - pierwiastka myślenia jako obiektów i mieszanej zawartości jak napisany tekst. Ale jest zawieszona na formatowanie elementów oznaczonych jako zachowanie. Może się okazać, że najbardziej przydatne do zadań związanych z poprawek lub prezentacji. Typowe zastosowanie często wygląda tak ::
z xmlformatter importu Formatter
formater = Formatowanie (tiret = "4")
wydrukować formatter.format_file ("/ home / PA / doc.xml")
Styl obiektowy odzwierciedla przechowywania właściwości obiektów. Dlatego wszystkie otaczające spacje są usuwane, sekwencje białych znaków są zwinięte ::
& Nbsp;
& Nbsp;
& Nbsp;
Poniżej przedstawiono dokument XML sformatowany według stylów obiektów ::
& Nbsp;
& Nbsp;
Styl tekstu odzwierciedla przechowywanie tekstu pisanego. Oczekuje się tekstu w zawartości mieszanej. Therfore początkowe i końcowe białe znaki są wprowadzane z węzłów tekstowych w zagnieżdżonych elementów do okolicznych węzłów tekstowych. Uwaga: Jeśli nie ma węzła Tekst można znaleźć, xmlformatter wstawia węzeł tekstowy zawierający jedną spacje wyjścia z zagnieżdżonego elementu. Sekwencje białych znaków są zwinięte do pojedynczego ::
& Nbsp;
Zagnieżdżone elementy traktowane jak właściwości obiektów, ale odstępy są połączone z węzłów tekstowych, a nie usunięty :::
& Nbsp;
Oba style są używane razem w dokumentach XML. Zasady formatowania są:
A: otaczające spacje są usuwane z zawartości pierwiastków
B: wiodące spacje są usuwane z zawartości pierwiastków
C: końcowe spacje są usuwane z zawartości pierwiastków
D: wiodące spacje w zagnieżdżone elementy są wprowadzane do poprzedniego węzła tekstowego (lub włożona) w ramach mieszanej zawartości
E: końcowe spacje w zagnieżdżone elementy poddawane są następujące węzły tekstowe (lub włożona) w ramach mieszanej zawartości
F: sekwencje białych znaków (n> 0) są zastąpione przez jeden pusty "" w elemencie i mieszaną zawartością
G: linebreak i białe znaki wcięcia elementów w zawartości pierwiastków
Poniższy przykład znaki opisane spacje poprzez ich etykietach w dokumencie XML ::
AAAA
AAAABBBB4.4E + 12CCC AAAA
AAAA
FFFFein riesengro & szlig; er DDDDTeddyb & auml; r , M
der & szlig; FFFFdie MilchEEEE und das BrotFFFF trank
und als er starb da Wojna erEEEE tot .CCCC AAAA
Poniżej przedstawiono sformatowany dokument XML: wszystkie spacje zastąpione jednym puste .:
& Nbsp;
& Nbsp;
Opcje
Formatującym wpływa wiele parametrów, podczas gdy konstrukcja obiektu XmlFormatter. Elementy, które pozostawione niesformatowany podane są w listę nazw elementów, zwane zachowania.
& Nbsp; Wszystkie potomkowie zachowanych elementów pozostało niesformatowany również .:
& Nbsp; z importu xmlformatter Formatter
& Nbsp; Formater = xmlformatter.Formatter (zachowując = ["zachowania"])
& Nbsp; wydrukować format.format_file ("/ home / PA / doc.xml")
Wcięcia mogą być podniesione o 2 tiret (domyślnie). Charakter wcięć można ustawić indentChar.
z xmlformatter importu Formatter
formater = Formatowanie (tiret = "1", indentChar = " t")
wydrukować formatter.format_file ("/ home / PA / doc.xml")
Wcięcia mogą być tłumione przez ustawienia kompresji do prawdziwej lub wybierając tiret = 0 .:
z xmlformatter importu Formatter
formater = Formatowanie (kompresji = true)
wydrukować formatter.format_file ("/ home / PA / doc.xml")
Kodowanie sformatowane dokumencie można ustawić encoding_input. Domyślnie kodowanie UTF-8 lub odczytać z deklaracji xml. Kodowanie wyjścia mogą być ustawiane przez encoding_output. należą:
z xmlformatter importu Formatter
formater = Formatowanie (encoding_input = "ISO-8859-1", encoding_output = "ISO-8859-1")
wydrukować formatter.format_file ("/ home / PA / doc.xml")
Formy
Xmlformatter można analizować dokumenty XML podanych przez drogi lub ciągu .:
z xmlformatter importu Formatter
formater = Formatowanie ()
# Plik
wydrukować formatter.format_file ("/ home / PA / doc.xml")
# Ciąg
sformatowana = formatter.format_string ("
xmlformat.py
XmlFormatter zawiera narzędzia wiersza poleceń, xmlformat.py do owijania klasę XmlFormatter. Parametry są nazwane jak opcje ::
xmlformat [--preserve "pre, dosłowne"] [--compress] [--indent num] [--outfile plik] [--encoding enc] [--outencoding enc] [help] <--infile pliku | Plik>
xmlformat.py może czytać ze standardowego wejścia, jak ::
& Nbsp; kot /home/pa/doc.xml | python xmlformat.py
Uwaga
XmlFormatter zbudowany jest w górnej części analizatora mieszkających, a więc ogranicza expat. XmlFormatter opublikowana jest na licencji MIT
Wymagania .
- Python
Komentarze nie znaleziono