3 Stimmen

Das Hinzufügen jedes Attributs in einer neuen Zeile während der XML Serialisierung

Lassen Sie uns sagen, ich habe ein DOM-Objekt (oder eine Zeichenkette, die XML enthält). Ist es irgendwie möglich, das XML so zu serialisieren, dass jede Eigenschaft in einer neuen Zeile erscheint?

Das ist die Ausgabe, die ich möchte:

Bevorzugt, wenn die Lösung Teil der Standard-Java-API ist, aber ich vermute, dass ein solches Feature dort nicht verfügbar ist, oder liege ich falsch?

Ich habe eine Eigenschaft für einen Serialisierer im .NET Framework gefunden, namens NewLineOnAttributes. Wonach ich suche, ist etwas Äquivalentes, aber in Java.

1voto

Aaron Digulla Punkte 308693

Der DecentXML-Parser kann dies tun.

0voto

Adam Batkin Punkte 49295

Die XOM-Bibliothek verfügt über eine Serializer-Klasse, die Sie überschreiben können, um das gewünschte Format auszugeben.

0voto

skaffman Punkte 389758

Ich kenne keine XML-API für Java, die diese spezifische Funktion bietet. Ich habe den Quellcode von JDOM und XOM überprüft, und sie drucken alle Attribute in derselben Zeile aus und bieten keine spezifischen Hooks zum Überschreiben an.

Sowohl XOM als auch JDOM verfügen über spezifische Klassen zum Serialisieren von XML (XMLOutputter und Serializer), und beide Klassen verfügen über geschützte oder öffentliche Methoden zur Behandlung der Serialisierung von Attributen. Sie könnten also, wenn Sie wollten, diese Klassen untergeordnet und die entsprechenden Methoden überschreiben, um die Formatierung Ihrer Attribute zu steuern, wie Sie es möchten.

Was die Standard-Java-API betrifft, vergessen Sie es, das Zeug ist ziemlich hässlich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X