Zum Inhalt springen

XML per XSLT in CSV Datei umwandeln


kills

Empfohlene Beiträge

Hallo zusammen,

ich hab ein paar Fragen zu XSLT, da ich mir das ma anschauen möchte.

1) Kann ich z.b. mit dem im IE internen XSLT Parser ein XML ins CSV Format umformen und das ergebnis direkt in einer Datei speichern, ohne den IE zu öffnen? Wenn nicht, mit welchem kostenlosen parser kann ich dies tun?

2) Hat jemand zum Thema nützliche Links/Beispiele?

3) Gibts da ne Online doku zu den funktionen etc. die man dazu verwenden kann?

4) Was ist der Unterschied zwischen XSL und XSLT

Ich hab im Google noch nicht geschaut, da ich leider noch keine Zeit dazu hatte und auch heute nicht mehr haben werde.

Danke im Vorraus und viele Grüße,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

1) Kann ich z.b. mit dem im IE internen XSLT Parser ein XML ins CSV Format umformen und das ergebnis direkt in einer Datei speichern, ohne den IE zu öffnen? Wenn nicht, mit welchem kostenlosen parser kann ich dies tun?

Kann ich dir nicht sicher beantworten, denke aber, dass das eher nicht geht, da man mit XSLT XML-Dateien nur in eine andere XML-Form bringen kann. CSV besitzt bekannterweise keine XML-Form.

4) Was ist der Unterschied zwischen XSL und XSLT

Naja,

XSL = Extensible Stylesheet Language

XSLT = Extensible Stylesheet Language Transformations

XSL ist dazu da, Layouts für XML-Dokumente zu schaffen. Mit XSLT wandelt man einen vorhandenen XML-Baum in eine andere XML-Baumstruktur um. Quelle: http://de.wikipedia.org/wiki/XSL und http://de.wikipedia.org/wiki/XSLT

Gruß, Tobias

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wieso sollte denn der Output XML sein müssen?

Das Prinzip ist es auch recht einfach.

1. Mit VBA kannst du das machen. Ist aber schon verdammt mühsam.

1.-4. steht vieles hier: http://de.wikipedia.org/wiki/XSLT

3. Mir fällt nur das w3c ein. Ich habe dazu ein paar Bücher durchgearbeitet. Am besten fand ich dazu "XML in a Nutshell". Für die Grundlagen kannst mal unter selfxml nachschauen oder unter w3schools .

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

ich habe mitlerweile folgende ansätze:

XSL:


<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text" encoding="UTF-8"/>

   <xsl:template match="/startreport">

      <xsl:apply-templates/>

   </xsl:template>

   <xsl:template match="section">

      <xsl:apply-templates/>

   </xsl:template>

   <xsl:template match="multidata">

      <xsl:apply-templates/>

   </xsl:template>

   <xsl:template match="data">

      <xsl:value-of select="name"/>

      <xsl:text>;</xsl:text>

      <xsl:value-of select="value"/>

      <xsl:text>;

</xsl:text>

   </xsl:template>

</xsl:stylesheet>

XML:

<?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet type="text/xsl" href="../xslt/logInvoicing.xslt"?>

<startreport>

	<section>

		<multidata>

		<data>

			<name>name1212121</name>

			<value>wert1</value>

		</data>

		<data>

			<name>name2</name>

			<value>wert2</value>

		</data>

		</multidata>

		<multidata>

		<data>

			<name>name1</name>

			<value>wert1</value>

		</data>

		<data>

			<name>name2</name>

			<value>wert2</value>

		</data>

		</multidata>

	</section>

</startreport>

das ganze mit XALAN geparst ergibt:




		name1212121;wert1;


		name2;wert2;




		name1;wert1;


		name2;wert2;





Woher kommt die einrückung im result-file?

Woher kommen die Leerzeilen?

Ziel ist es keine einrückungen zu haben, aber das ganze soll schon mit zeilenumbruch passieren, aber nur mit einem!

Danke im vorraus,

Gruß Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Probier mal xsl:strip-space aus.

Die Tabs vor den Daten kommen mit ziemlicher Sicherheit von deinen Einrückungen, entweder im Stylesheet oder in der XML-Datei.

Hi Enrico,

also anscheinend kommen die whitespaces aus der XML datei.

Aber warum berücksichtigt mein XSL diese Leerzeichen?

Diese sind doch vor den Tags...

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

So da bin ich.

Probier mal:


<xsl:output method="text" encoding="UTF-8" indent="no" media-type="text/plain" />

ich versuchs ma danke

Hast du schon herausgefunden, woher die Leerzeilen kommen?

also anscheinend kommen die whitespaces aus der XML datei.

Aber warum berücksichtigt mein XSL diese Leerzeichen?

Diese sind doch vor den Tags...

Danke und Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...