.
XMLFormatter ist ein Open Source Python-Klasse, die Formatierung von XML-Dokumenten & nbsp bietet; diese Forma unterscheidet sich von anderen durch den Umgang mit Leerzeichen durch einen distnict Reihe von Formatierungsregeln (siehe unten) - Denken Elementinhalt als Objekte und gemischte Inhalte als geschriebenen Text. Aber Formatierung wird für Elemente bewahren markiert ausgesetzt. Man könnte es sehr nützlich für Aufgaben, die Korrekturen oder Präsentationen zu finden. Typische Anwendungen sieht oft so aus ::
von XMLFormatter Import Formatter
Forma = Formatter (Gedankenstrich = "4")
drucken formatter.format_file ("/ home / pa / doc.xml")
Der Objektstil spiegelt die Speicherung von Objekteigenschaften. Daher werden alle umgebenden Leerzeichen entfernt werden, Sequenzen von Leerzeichen sind zusammengebrochen ::
& Nbsp;
& Nbsp;
& Nbsp;
Nachfolgend ist die das XML-Dokument von Objektstil formatiert ::
& Nbsp;
& Nbsp;
Der Textstil spiegelt die Lagerung eines schriftlichen Textes. Der Text wird in gemischten Inhalt erwartet. Therfore führende und nachgestellte Leerzeichen aus Textknoten in verschachtelte Elemente umgebenden Textknoten setzen. Hinweis: Wenn kein Textknoten gefunden werden kann, fügt XMLFormatter einen Textknoten mit einem einzelnen Leerzeichen aus dem verschachtelten Element. Sequenzen von Leerzeichen zu einem einzigen zusammengebrochen ::
& Nbsp;
Die verschachtelten Elementen behandelt wie Objekteigenschaften, aber Leerzeichen werden mit Textknoten, anstatt entfernt verschmolzen :::
& Nbsp;
Beide Modelle sind in einer XML-Dokumenten verwendet. Die Formatierungsregeln sind:
A: umgebenden Leerzeichen sind aus Elementgehalt entfernt
B: führende Leerzeichen aus Elementgehalt entfernt
C: Hinter Leerzeichen werden aus Elementgehalt entfernt
D: führende Leerzeichen in verschachtelten Elemente zu vorangegangenen Textknoten innerhalb gemischte Inhalte setzen (oder eingefügt)
E: Hinter Leerzeichen in geschachtelten Elemente sind folgende Textknoten innerhalb gemischte Inhalte setzen (oder eingefügt)
F: Folgen von Leerzeichen (n> 0) durch einen einzigen leeren "im Element und gemischte Inhalte ersetzt"
G: Zeilenumbruch und Leerzeichen Gedankenstrich Elemente innerhalb Elemente Inhalt
Folgendes Beispiel markiert die beschriebenen Leerzeichen durch ihre Etiketten in einem XML-Dokument ::
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 Krieg erEEEE tot .CCCC
Nachfolgend ist die formatierte XML-Dokument: Alle Leerzeichen durch ein einzelnes Leerzeichen ersetzt .:
& Nbsp;
& Nbsp;
Einstellungen
Die Formatierung kann von sehr vielen Parametern beeinflusst werden, während Bau XMLFormatter Objekt. Elemente, die links nicht formatiert werden in einer Liste von Elementnamen gegeben, genannt zu bewahren.
& Nbsp; Alle Nachkommen von erhaltenen Elemente werden auch unformatiert frei .:
& Nbsp; von XMLFormatter Import Formatter
& Nbsp; Forma = xmlformatter.Formatter (Erhaltung = ["preserve"])
& Nbsp; drucken format.format_file ("/ home / pa / doc.xml")
Der Einzug kann durch Gedankenstrich (default 2) angehoben werden. Das Einrücken Charakter kann durch indentChar eingestellt werden.
von XMLFormatter Import Formatter
Forma = Formatter (Gedankenstrich = "1", indentChar = " t")
drucken formatter.format_file ("/ home / pa / doc.xml")
Einrücken kann durch Einstellung auf true oder wählen Gedankenstrich = 0 Druckdrückt werden .:
von XMLFormatter Import Formatter
Forma = Formatter (komprimieren = True)
drucken formatter.format_file ("/ home / pa / doc.xml")
Die Kodierung des formatierten Dokuments kann durch encoding_input eingestellt werden. Mit dem Standard-Kodierung ist UTF-8 oder aus XML-Deklaration zu lesen. Die Codierung der Ausgabe kann durch encoding_output eingestellt werden. sind:
von XMLFormatter Import Formatter
Forma = Formatter (encoding_input = "ISO-8859-1", encoding_output = "ISO-8859-1")
drucken formatter.format_file ("/ home / pa / doc.xml")
Verfahren
Kann XMLFormatter XML-Dokumente durch Pfad oder String angegeben analysieren .:
von XMLFormatter Import Formatter
Forma = Formatter ()
# Datei
drucken formatter.format_file ("/ home / pa / doc.xml")
# String
formatiert = formatter.format_string ("
xmlformat.py
XMLFormatter enthält eine Kommandozeilen-Tool, xmlformat.py, zum Einwickeln XMLFormatter Klasse. Die Parameter werden wie die Möglichkeiten benannt ::
xmlformat [--preserve "pre, wörtliche"] [--compress] [--indent num] [--outfile Datei] [--encoding enc] [--outencoding enc] [--help] <--infile Datei | Datei>
xmlformat.py können von STDIN wie zu lesen, ::
& Nbsp; Katze /home/pa/doc.xml | python xmlformat.py
Hinweis
XMLFormatter ist bauen auf der Oberseite des Expat-Parser und daher von Expat begrenzt. XMLFormatter unter MIT-Lizenz veröffentlicht
Anforderungen .
- Python
Kommentare nicht gefunden