PrettyXML: Schönerer Code geparst mit Expat
Verfasst: Mittwoch 26. August 2009, 17:07
Moinsen,
hier die erste Version meines PrettyPrinters für wohlgeformten XML/HTML-Code. Ja, sowas gibt es bereits, aber das macht ja nichts.
Ist bisher noch nicht so intensiv getestet und soll auch erstmal ein Anfang sein. Kriterien: Grundsätzlich wird für ein neues Element eine neue Zeile begonnen und die Einrückungsstufe erhöht. Die Einrückung selbst wird durch Anzahl der Leerzeichen mitgegeben, Standardwert ist 2. Wenn sich Text innerhalb des Elements befindet, wird so lange in der selben Zeile geschrieben, bis die Anzahl der Start-Tags durch die Anzahl der End-Tags ausgeglichen wurde. Eine Überprüfung auf Namensgleichheit der Tags findet (noch) nicht statt.
Den Code gibt's hier. Optimierungsvorschläge sind natürlich immer willkommen.
hier die erste Version meines PrettyPrinters für wohlgeformten XML/HTML-Code. Ja, sowas gibt es bereits, aber das macht ja nichts.

Code: Alles auswählen
In [1]: from prettyxml import prettify
In [2]: code = '<html><head><title>Hello, World!</title></head><body><p id="greet" name="world">Hello, <strong>World</strong>!</p></body></html>'
In [3]: print prettify(code)
------> print(prettify(code))
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<p id="greet" name="world">Hello, <strong>World</strong>!</p>
</body>
</html>
Den Code gibt's hier. Optimierungsvorschläge sind natürlich immer willkommen.
