XML erstellen mit MSXML2: Zeilenumbrüche

16/01/2008 - 13:41 von Markus Wiethüchter | Report spam
Hallo,

beim Erstellen von XML-Dateien mit dem MSXML2 DOM werden die XML-Dateien
ohne Umbrüche als einzelne Zeile erstellt. Wie kann ich eine
"formatierte" Erstellung direkt über das DOM erreichen?
(Ausgabe wie nach "pretty-Print" aus XML-Spy) ?

Ein nachtràgliches Ändern wie z.B. per XML-Spy ist aufgrund der Größe
der XML-Files keine Option.

Danke für Eure Tipps!

Gruß, Markus
 

Lesen sie die antworten

#1 Martin Honnen
16/01/2008 - 13:59 | Warnen spam
Markus Wiethüchter wrote:

beim Erstellen von XML-Dateien mit dem MSXML2 DOM werden die XML-Dateien
ohne Umbrüche als einzelne Zeile erstellt. Wie kann ich eine
"formatierte" Erstellung direkt über das DOM erreichen?
(Ausgabe wie nach "pretty-Print" aus XML-Spy) ?

Ein nachtràgliches Ändern wie z.B. per XML-Spy ist aufgrund der Größe
der XML-Files keine Option.



Nur mittels DOM ist das möglich, aber MSXML bietet dafür keine
Funktionalitàt an, das muss man dann selbst per DOM-API durchführen,
indem man Textknoten mit Zeilenumbrüchen und Leerzeichen einfügt.

Oder man làsst ein XSLT-Stylesheet die Arbeit machen, etwa

<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>

dann dieses Stylesheet laden und per transformNodeToObject auf das
DOM-Dokument anwenden, dann das Resultat speichern. Wenn du dabei Hilfe
brauchst, dann teile uns mit, mit welcher Programmiersprache du MSXML
verwenden willst.



Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen