Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

XML per XSLT in CSV Datei umwandeln

Empfohlene Antworten

Veröffentlicht

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

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

also ich hab nun doch mal kurz bei google gestöbert und hab folgendes gefunden:

http://www.w3schools.com/xsl/el_output.asp

damit müsste sich das meiner Meinung nach bewerkstelligen lassen.

Ich versuchs ma.

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 .

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.