Java: Eindringende XMLStreamWriter-Alternative?

7

Ich verwende StAX, um ein ziemlich großes XML-Dokument zu erstellen. Bis jetzt habe ich die IndentingXMLStreamwriter-Klasse verwendet, um ein gut formatiertes Dokument zu erhalten (siehe auch ) Antwort ). Vor ein paar Tagen haben wir einen jenkins-Server mit einer älteren jdk-Version (6.26) eingerichtet, auf dem ich Build-Fehler bekomme.

%Vor%

Ich nehme an, das Paket kann wegen der installierten jdk-Version nicht gefunden werden. Aus verschiedenen Gründen kann dies nicht geändert werden (Übrigens, kennt jemand die jdk-Version, bei der dieses Paket (com.sun.xml.internal.txw2.output) hinzugefügt wurde?).
Deshalb suche ich nach einer Alternative zum Einrücken. Ich würde eine ähnliche Lösung wie die, die ich benutzte, bevorzugen, was bedeutet, das Dokument nicht zu reparieren. Irgendwelche Ideen oder Vorschläge?

Danke Lars

    
Lars 11.04.2012, 11:41
quelle

4 Antworten

3

Wenn andere Vorschläge nicht funktionieren, können Sie einen sendenden XMLStreamWriter von Saxon wie folgt erhalten:

%Vor%

Ein Vorteil ist, dass Sie damit viel Kontrolle über die Serialisierung mit anderen Serialisierungseigenschaften haben.

    
Michael Kay 11.04.2012, 14:59
quelle
7

Anstelle von com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter verwenden Sie com.sun.xml.txw2.output.IndentingXMLStreamWriter , die Sie in

finden %Vor%     
qnox 25.11.2015 12:59
quelle
6

Erweitern Sie einfach Michael Kay's Antwort ( Ссылка ).

maven Abhängigkeiten:

%Vor%

Java-Code:

%Vor%     
Robert Fey 04.06.2015 07:22
quelle
4

Es gibt eine alternative Implementierung von IndentingXmlStreamWriter, die als Teil des Open Source stax-utils-Projekts hier bereitgestellt wird: Ссылка

stax-utils scheint ein Projekt zu sein, das eingerichtet wurde, Dienstprogramme basierend auf dem jsr-173-Streaming von xml api für Java bereitzustellen

Sie müssten das stax-utils-Jar als Abhängigkeit für Ihr Projekt hinzufügen. Dann können Sie javanet.staxutils.IndentingXmlStreamWriter

importieren

Da sich stax-utils im maven central repository befindet, können Sie maven für Ihre Abhängigkeiten verwenden:

%Vor%

Die Funktionalität scheint der txw2-Klasse sehr ähnlich / äquivalent zu sein

Ich habe jsr173-ri ausgeschlossen, seit ich jdk 1.7 verwende. Ich denke, 1.6+ hat die JSR173 API als Standard-Funktion, aber wenn Sie 1.5 oder niedriger verwenden, benötigen Sie die zusätzliche JSR173 JAR.

    
user1956533 07.01.2013 23:35
quelle

Tags und Links