{"id":55000266,"date":"2005-02-01T00:00:00","date_gmt":"2020-05-06T15:17:56","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=266"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Daten_im_XMLFormat_exportieren_und_weiterverarbeiten","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/","title":{"rendered":"Daten im XML-Format exportieren und weiterverarbeiten"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>XML hat in vielen Bereichen Einzug gehalten, doch zu sehen ist es eigentlich nirgendwo: Hier eine Export-M&ouml;glichkeit, dort ein Webdienst, der Daten im XML-Format ausgibt, aber XML f&uuml;r eigene Zwecke einsetzen Sie sind sicher nicht der Einzige, der jetzt zustimmend nickt. Grund genug, mal eine der vielen M&ouml;glichkeiten von XML n&auml;her zu beleuchten &#8211; beispielsweise den Export von Daten aus Access nach XML und von dort aus direkt weiter in das gew&uuml;nschte Zielformat &#8211; wie zum Beispiel CSV oder HTML.<\/b><\/p>\n<p>XML (Extensible Markup Language) ist ein universelles Format zum Speichern von Daten in strukturiertem, von Mensch und Maschine lesbarem Textformat. Sie werden vermutlich bereits einmal Kontakt mit XML gehabt oder zumindest davon geh&ouml;rt haben &#8211; neuerdings gibt es kaum noch eine Anwendung, die Daten nicht im XML-Format speichern kann.<\/p>\n<p>Das schlie&szlig;t beispielsweise weite Teile des Office-Pakets ein &#8211; Word kann es, Excel auch, und eine Access-Datenbank giert praktisch danach, die Daten der enthaltenen Tabellen sch&ouml;n strukturiert im XML-Format auszugeben.<\/p>\n<p>Die Frage, die Sie sich vermutlich stellen, lautet: Was mache ich nun also mit den ganzen im XML-Format gespeicherten Daten  Die beiden Haupteinsatzgebiete sind die Verwendung als Austauschformat zwischen zwei Anwendungen und als Grundlage f&uuml;r mit verschiedenen Methoden formatierte Ausgabeformate wie beispielsweise HTML.<\/p>\n<p>Letzteres zeigt einen der Grundz&uuml;ge von XML: In diesem Format vorliegende Daten enthalten niemals Informationen &uuml;ber deren Anzeigeformat, sondern nur die Daten selbst und ihre Struktur.<\/p>\n<p>Zur Formatierung f&uuml;r die Ausgabe gibt es andere Mittel, zum Beispiel XSL-Dateien. XSL ist die Abk&uuml;rzung f&uuml;r Extensible Stylesheet Language und dient zum Formatieren und Transformieren des Inhalts von XML-Dateien. Eine XSL-Datei enth&auml;lt Informationen dar&uuml;ber, wie der Inhalt einer XML-Datei darzustellen ist. Zusammen bringen Sie die beiden meist &uuml;ber einen Eintrag in der XML-Datei, der die f&uuml;r die Ausgabe zu verwendende XSL-Datei angibt.<\/p>\n<p>Nun haben Sie aber hier kein XML-, sondern ein Access-Magazin in der Hand und deshalb wollen wir nicht tiefer in die Theorie einsteigen. Statt dessen schreiten wir direkt zum praktischen Teil und sehen uns dabei den einen oder anderen theoretischen Aspekt genauer an.<\/p>\n<p>Access und XML sind seit Access 2000 Freunde &#8211; zumindest gibt es seitdem die ersten Exportm&ouml;glichkeiten f&uuml;r Daten im XML-Format.<\/p>\n<p>Um mit einer aktuelleren Version von Access den Inhalt einer Tabelle in eine XML-Datei zu exportieren, sind nur wenige Mausklicks erforderlich. Am schnellsten geht es folgenderma&szlig;en:<\/p>\n<p><IMG height=\"387\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic001.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Auswahl der Export-Art<\/span><\/b><\/p>\n<p><IMG height=\"427\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic002.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  In HTML transformierte XML-Ausgabe von Access<\/span><\/b><\/p>\n<li>Klicken Sie die zu exportierende Tabelle oder Abfrage im Datenbankfenster an.<\/li>\n<li>W&auml;hlen Sie aus dem Kontextmen&uuml; dieser Tabelle den Eintrag Exportieren&#8230; aus.<\/li>\n<li>Im nun erscheinenden Dialog stellen Sie den Dateityp auf XML (*.xml) ein (siehe Bild 1).<\/li>\n<li>Klicken Sie im n&auml;chsten Dialog zus&auml;tzlich die Option Pr&auml;sentation Ihrer Daten (XSL) an und schlie&szlig;en Sie den Export ab. (<\/li>\n<p>Access hat nun vier Dateien mit den Endungen .htm, .xml, .xsl und .xsd erstellt. Interessant ist zun&auml;chst die .html-Datei.<\/p>\n<p>Die schauen Sie sich am besten im Internet Explorer an, denn zur Anzeige sind einige Zeilen VBScript notwendig &#8211; der Firefox etwa kann hiermit nichts anfangen.<\/p>\n<p>Der Export einer Abfrage mit vier Zeilen der Artikel-Tabelle sieht recht gelungen aus (siehe Bild 2).<\/p>\n<p>Interessant f&uuml;r diese Art der Ausgabe ist der Export von fertig formatierten Access-Berichten.<\/p>\n<p>Die Ausgabe eines Rechnungsberichts aus der Nordwind-Datenbank beispielsweise ist recht ansehnlich (siehe Bild 3).<\/p>\n<p>Bei diesem kurzen Einblick in die assistentgesteuerten XML-Exportm&ouml;glichkeiten von Access soll es zun&auml;chst bleiben. Exakt die Ergebnisse, die Sie vom Export von Access-Daten und vor allem von der resultierenden Anzeige erwarten, bekommen Sie n&auml;mlich nur schwer.<\/p>\n<p>XML und XSL bilden gemeinsam ein Team, das Daten in jedem beliebigen Format ausgeben kann. Dabei enth&auml;lt eine XML-Datei die Daten und Informationen zu deren Struktur und die XSL-Datei Informationen &uuml;ber das Ausgabeformat der Daten.<\/p>\n<p><IMG height=\"480\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic003.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Ausgabe eines Berichts im XML-Format mit Transformation<\/span><\/b><\/p>\n<pre>&lt;xml version=\"1.0\" encoding=\"iso-8859-1\" &gt; \r\n&lt;Kategorien&gt;\r\n    &lt;Kategorie&gt;\r\n        &lt;Kategorie-Nr&gt;1&lt;\/Kategorie-Nr&gt;\r\n        &lt;Kategoriename&gt;Getr&auml;nke&lt;\/Kategoriename&gt;\r\n    &lt;\/Kategorie&gt;\r\n    &lt;Kategorie&gt;\r\n        &lt;Kategorie-Nr&gt;2&lt;\/Kategorie-Nr&gt;\r\n        &lt;Kategoriename&gt;Gew&uuml;rze&lt;\/Kategoriename&gt;\r\n    &lt;\/Kategorie&gt;\r\n    ...\r\n&lt;\/Kategorien&gt;<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<p>Nachvollziehen l&auml;sst sich das am besten anhand eines kleinen Beispiels. Dazu verwenden Sie die sehr einfach aufgebaute XML-Datei aus Quellcode 1. Der Prolog der Datei gibt die verwendete XML-Version sowie die verwendete Zeichensatzkodierung an.<\/p>\n<p>Die eigentlichen Daten h&auml;lt immer das Wurzelelement zusammen. In diesem Fall besteht das Wurzelelement aus dem &ouml;ffnenden &lt;Kategorien&gt; und dem schlie&szlig;enden &lt;\/Kategorien&gt;.  Dazwischen befinden sich Daten aus der Kategorien-Tabelle der Nordwind-Datenbank, und zwar jeweils die Kategorienummer und der Kategoriename. Die Daten sind je Datensatz durch ein &ouml;ffnendes &lt;Kategorie&gt; und ein schlie&szlig;endes &lt;\/Kategorie&gt; eingeschlossen.<\/p>\n<p>Das Gleiche gilt f&uuml;r die Daten selbst. Wenn Sie diese XML-Datei im Browser &ouml;ffnen, erscheint eine zwar gut strukturierte, aber dennoch wenig &uuml;bersichtliche Ansicht der Daten (siehe Bild 4).<\/p>\n<p>Hier kommt XSL ins Spiel: Mit einer geeigneten XSL-Datei k&ouml;nnen Sie die im XML-Format gespeicherten Daten in beliebigen Formaten anzeigen. <\/p>\n<p>Beginnen Sie mit einem leichten Beispiel: der Anzeige der Kategorien in einer durch Semikolons getrennten Liste.<\/p>\n<p>Die XSL-Datei enth&auml;lt eine Beschreibung, wie die einzelnen Elemente einer XML-Datei formatiert werden sollen.<\/p>\n<p>Dabei k&ouml;nnen Sie mit einer solchen Datei die Daten der XML-Datei auslesen und beispielsweise durch Hinzuf&uuml;gen von Anf&uuml;hrungszeichen, Semikolons und Zeilenumbr&uuml;chen in ein von Excel lesbares CSV-Format &uuml;berf&uuml;hren.<\/p>\n<p>Das Ergebnis soll so aussehen:<\/p>\n<pre>Kategorie-Nr;Kategoriename\r\n1;\"Getr&auml;nke\"\r\n2;\"Gew&uuml;rze\"\r\n3;\"S&uuml;&szlig;waren\"\r\n4;\"Milchprodukte\"\r\n5;\"Getreideprodukte\"\r\n6;\"Fleischprodukte\"\r\n7;\"Naturprodukte\"\r\n8;\"Meeresfr&uuml;chte\"<\/pre>\n<p><IMG height=\"439\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic004.png\" width=\"500\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4:  Anzeige einer XML-Datei im Internet Explorer<\/span><\/b><\/p>\n<pre>&lt;xml version=\"1.0\" encoding=\"iso-8859-1\"&gt;\r\n&lt;xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http:\/\/www.w3.org\/1999\/XSL\/Transform\"&gt;\r\n  &lt;xsl:output method=\"text\"\/&gt;\r\n  &lt;xsl:template match=\"Kategorien\"&gt;\r\n    &lt;xsl:text&gt;Kategorie-Nr;Kategoriename&lt;\/xsl:text&gt;\r\n    &lt;xsl:text&gt;&#13;&#10;&lt;\/xsl:text&gt;\r\n    &lt;xsl:apply-templates select=\"Kategorie\" \/&gt;\r\n  &lt;\/xsl:template&gt;\r\n  &lt;xsl:template match=\"Kategorie\"&gt;\r\n    &lt;xsl:value-of select=\"Kategorie-Nr\" \/&gt;\r\n    &lt;xsl:text&gt;;\"&lt;\/xsl:text&gt;\r\n    &lt;xsl:value-of select=\"Kategoriename\" \/&gt;\r\n    &lt;xsl:text&gt;\"&lt;\/xsl:text&gt;\r\n    &lt;xsl:text&gt;&#13;&#10;&lt;\/xsl:text&gt;\r\n  &lt;\/xsl:template&gt;\r\n&lt;\/xsl:stylesheet&gt;<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Die XSL-Datei aus Quellcode 2 sorgt f&uuml;r die entsprechende Umwandlung. XSL-Dateien sind mit XML-Dateien bez&uuml;glich des Aufbaus identisch, beinhalten aber in der Regel keine Daten, sondern Anweisungen zur Formatierung der Daten einer XML-Datei.<\/p>\n<p>Nach dem Prolog mit der Angabe von XML- und XSL-Version folgt ein Element namens xsl:output. Es legt die Ausgabemethode fest.<\/p>\n<p>Die Methode xsl:template leitet die Ausgabe der &uuml;berschrift ein. Es sucht nach dem Element Kategorien, was dem Wurzelknoten des XML-Dokuments entspricht, und f&uuml;hrt die nachfolgenden Methoden f&uuml;r jedes Auftreten des Wurzelelements je einmal aus &#8211; was genau einem Aufruf entspricht. Die nachfolgende xsl:apply-templates-Anweisung legt fest, dass an dieser Stelle noch ein Template mit weiteren Informationen auszugeben ist. Diese betreffen die in den Kategorie-Elementen enthaltenen Daten.<\/p>\n<p>Diese Ausgabe erfolgt in dem mit &lt;xsl:template match=&#8220;Kategorie&#8220;&gt; eingeleiteten Teil. Die &lt;xsl:value-of&gt;-Anweisungen geben jeweils die in den Elementen Kategorie-Nr und Kategoriename enthaltenen Daten aus. Dazwischen werden mit der &lt;xsl:test&gt;-Methode noch die Semikolons, Anf&uuml;hrungszeichen und Seitenumbr&uuml;che (vertreten durch die Zeichenfolge &#13;&#10;) eingef&uuml;gt.<\/p>\n<p><!--30percent--><\/p>\n<p>Fehlt nur noch, dass Sie das XML-Dokument auf das zu verwendende XSL-Dokument aufmerksam machen: Das erledigen Sie durch Einf&uuml;gen einer einzigen Zeile in die XML-Datei &#8211; und zwar direkt hinter der ersten Zeile aus Quellcode 1:<\/p>\n<pre>&lt;xml-stylesheet href=\"KategorienCSV.xsl\" type=\"text\/xsl\"&gt;<\/pre>\n<p>Wenn Sie beide Dateien wie angegeben erstellt und in einem gemeinsamen Verzeichnis gespeichert haben, erhalten Sie die weiter oben vorgegebene Ausgabe.<\/p>\n<p>Was Sie im vorigen Kapitel kennen gelernt haben, sind lediglich die Grundlagen zu den in diesem und den folgenden Kapiteln vorgestellten Techniken. Sie werden vermutlich kaum die Daten einer Access-Tabelle oder -Abfrage manuell exportieren wollen und diese dann &#8211; durch ein entsprechendes XSL-Dokument formatiert &#8211; anzeigen lassen. Darum lernen Sie nun einige Prozeduren kennen, mit denen Sie die relevanten Daten per Knopfdruck nicht nur im gew&uuml;nschten Format anzeigen lassen, sondern auch speichern k&ouml;nnen.<\/p>\n<h2>Voraussetzung: Verweis auf die MSXML-Bibliothek<\/h2>\n<p>F&uuml;r die folgenden Schritte sind einige Objekte und Anweisungen der Bibliothek MSXML erforderlich. Immerhin soll die Formatierung der XML-Datei mit der XSL-Datei nicht durch den im Browser integrierten XSLT-Prozessor durchgef&uuml;hrt werden, sondern mit einer entsprechenden Anweisung innerhalb der verwendeten VBA-Prozeduren.<\/p>\n<p>Zum Erstellen des Verweises aktivieren Sie den VBA-Editor (am schnellsten per Strg+g) und w&auml;hlen den Men&uuml;eintrag Extras\/Verweise &#8230;.<\/p>\n<p>Dort finden Sie unter anderem den Eintrag Microsoft XML, v3.0 &#8211; markieren Sie ihn und schlie&szlig;en Sie den Dialog (siehe Bild 5).<\/p>\n<p><IMG height=\"365\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic005.png\" width=\"467\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5:  Verweis auf die MSXML-Bibliothek festlegen<\/span><\/b><\/p>\n<h2>Vorgehensweise<\/h2>\n<p>Der VBA-Code zur Erstellung eines in einem bestimmten Ausgabeformat gespeicherten Dokuments mit bestimmten Daten einer Datenbank besteht aus drei Prozeduren.<\/p>\n<p>Die Hauptprozedur erzeugt eine Datensatzgruppe mit den zu exportierenden Daten und ruft die beiden anderen Prozeduren auf. Die erste erstellt aus der Datensatzgruppe ein XML-Dokument &#8211; allerdings speichert sie dieses nicht, sondern h&auml;lt es in einer Stringvariablen vor. Die zweite Funktion transformiert die so erzeugte XML-Datei mit der im Filesystem gespeicherten XSL-Datei und speichert das Resultat ebenfalls im Filesystem.<\/p>\n<h2>Die Prozedur KategorienExportieren<\/h2>\n<p>Die Hauptprozedur, die eine Datensatzgruppe erstellt und die Prozeduren zur weiteren Bearbeitung der Daten aufruft, hei&szlig;t KategorienExportieren. Den Quellcode dieser Prozedur k&ouml;nnen Sie Quellcode 3 entnehmen.<\/p>\n<p>Die Prozedur deklariert die ben&ouml;tigten Variablen und Objekte und instanziert die Objektvariablen f&uuml;r die Datenbankverbindung und die Datensatzgruppe. Eine Variable namens strDatenbankpfad dient zum Speichern des Pfades, in dem sich die Datenbank selbst befindet.<\/p>\n<p>Diese Information wird f&uuml;r den Zugriff auf die XSL-Datei ben&ouml;tigt, die sich im gleichen Verzeichnis wie die Datenbank befindet. Au&szlig;erdem soll die erzeugte CSV-Datei ebenfalls in diesem Verzeichnis gespeichert werden.<\/p>\n<p>Als Datenbankverbindung dient eine Verbindung zum aktuellen Datenbankprojekt, als Datensatzgruppe h&auml;lt wie in obigem Beispiel die Tabelle Kategorien her &#8211; per SELECT-Anweisung reduziert auf die beiden Felder Kategorie-Nr und Kategoriename.<\/p>\n<p>Der Variablen strXMLDokument weist die Prozedur das Ergebnis des Aufrufs einer weiteren Prozedur namens DatensatzgruppeInXMLKonvetieren zu &#8211; diese Prozedur wird im folgenden Abschnitt erl&auml;utert.<\/p>\n<p>Das resultierende XML-Dokument wird direkt als Eingabeparameter der Prozedur ExportiereXML weiterverarbeitet. Diese Prozedur sorgt f&uuml;r die Erzeugung der gew&uuml;nschten CSV-Datei.<\/p>\n<pre>Public Sub KategorienExportieren()\r\n    Dim rst As ADODB.Recordset\r\n    Dim strXMLDokument As String\r\n    Dim cnn As ADODB.Connection\r\n    Dim strDatenbankpfad As String\r\n    Set cnn = CurrentProject.Connection\r\n    Set rst = New ADODB.Recordset\r\n    strDatenbankpfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _        Len(Dir(CurrentDb.Name)))\r\n    rst.Open \"SELECT [Kategorie-Nr], Kategoriename FROM Kategorien\", cnn, _        adOpenStatic, adLockReadOnly\r\n    strXMLDokument = DatensatzgruppeInXMLKonvertieren(rst, \"Kategorien\", \"Kategorie\")\r\n    rst.Close\r\n    Set rst = Nothing\r\n    ExportiereXML strXMLDokument, strDatenbankpfad & \"Kategorien_CSV.xsl\", _        strDatenbankpfad & \"Kategorien.csv\"\r\nEnd Sub<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<h2>Umwandlung eines Recordset in ein XML-Dokument<\/h2>\n<p>Die Prozedur DatensatzgruppeInXMLKonvertieren bew&auml;ltigt den gr&ouml;&szlig;ten Teil der Arbeit (s. Quellcode 5). Sie erwartet als Eingangsparameter die Datensatzgruppe sowie zwei Stringvariablen.<\/p>\n<p>Die erste namens strWurzelelement enth&auml;lt den f&uuml;r das Wurzelement vorgesehenen Namen. Die zweite Stringvariable hei&szlig;t strDatensatzelement und beinhaltet den Namen des Elements, das jeden einzelnen Datensatz einschlie&szlig;t. In dem nachfolgenden Schnippsel des resultierenden XML-Dokuments ist das mit strWurzelelement &uuml;bergebene Element kursiv gekennzeichnet und das mit strDatensatzElement &uuml;bergebene fett.<\/p>\n<p>Die im Prozedurkopf deklarierte Stringvariable strXML speichert den jeweils aktuellen Stand der XML-Datei zwischen und &uuml;bergibt diesen am Ende der Prozedur an die f&uuml;r den R&uuml;ckgabewert verantwortliche Variable DatensatzgruppeInXMLKonvertieren.<\/p>\n<pre>&lt;Kategorien&gt;\r\n    &lt;Kategorie&gt;\r\n        &lt;Kategorie-Nr&gt;1&lt;\/Kategorie-Nr&gt;\r\n        &lt;Kategoriename&gt;            Getr&auml;nke&lt;\/Kategoriename&gt;\r\n    &lt;\/Kategorie&gt;\r\n    &lt;Kategorie&gt;\r\n        &lt;Kategorie-Nr&gt;2&lt;\/Kategorie-Nr&gt;\r\n        &lt;Kategoriename&gt;            Gew&uuml;rze&lt;\/Kategoriename&gt;\r\n    &lt;\/Kategorie&gt;\r\n    ...\r\n&lt;\/Kategorien&gt;<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<p>Die Variable fld hat den Datentyp Field und enth&auml;lt jeweils einen Verweis auf das aktuell durchlaufene Feld der Datensatzgruppe. Den Auftakt beim Zusammensetzen des XML-Dokuments macht das Wurzelelement &#8211; es wird aus dem Inhalt der Variablen strWurzelelement und umschlie&szlig;enden spitzen Klammern zusammengesetzt &#8211; in diesem Fall zu &lt;Kategorien&gt; (s. Quellcode 4). <\/p>\n<pre>Public Function DatensatzgruppeInXMLKonvertieren(ByRef rst As ADODB.Recordset, _    ByVal strWurzelelement As String, ByVal strDatensatzelement As String)\r\n    Dim strXML As String\r\n    Dim fld As ADODB.Field\r\n    strXML = strXML & \"&lt;\" & strWurzelelement & \"&gt;\"\r\n    With rst\r\n        If .State &lt;&gt; 0 Then\r\n            While Not (.EOF Or .BOF)\r\n                strXML = strXML & \"&lt;\" & strDatensatzelement & \"&gt;\"\r\n                For Each fld In .Fields\r\n                    strXML = strXML & \"&lt;\" & fld.Name & \"&gt;\"\r\n                    strXML = strXML & \"&lt;![CDATA[\" & fld.Value & \"]]&gt;\"\r\n                    strXML = strXML & \"&lt;\/\" & fld.Name & \"&gt;\"\r\n                Next\r\n                Set fld = Nothing\r\n                strXML = strXML & \"&lt;\/\" & strDatensatzelement & \"&gt;\"\r\n                .MoveNext\r\n            Wend\r\n        End If\r\n    End With\r\n    strXML = strXML & \"&lt;\/\" & strWurzelelement & \"&gt;\"\r\n    DatensatzgruppeInXMLKonvertieren = strXML\r\nEnd Function<\/pre>\n<p><b>Quellcode 5<\/b><\/p>\n<p>Auf die gleiche Art wird am Ende der Prozedur auch das letzte und schlie&szlig;ende Element &lt;\/Kategorien&gt; hinzugef&uuml;gt. Dann durchl&auml;uft eine While Wend-Schleife jeden einzelnen Datensatz der Datensatzgruppe. Vor und nach dem Konvertieren der eigentlichen Daten f&uuml;gt die Prozedur dem XML-Dokument ein &ouml;ffnendes (&lt;Kategorie&gt;) und ein schlie&szlig;endes (&lt;\/Kategorie&gt;) Element f&uuml;r jeden Datensatz hinzu. Die Daten selbst werden in den ihrem Feldnamen entsprechenden Elementen eingeschlossen und in einen CDATA-Block eingebettet. Dieser dient dazu, die Verarbeitung von als XML interpretierbaren Inhalten zu verhindern. Der Inhalt des Feldes Kategorie-Nr sieht nach der Bearbeitung etwa folgenderma&szlig;en aus:<\/p>\n<pre>&lt;Kategorie-Nr&gt;&lt;![CDATA[1]]&gt;&lt;\/Kategorie-Nr&gt;<\/pre>\n<p>&auml;hnlich stellt sich die Umwandlung des Inhalts des Feldes Kategoriename:<\/p>\n<pre>&lt;Kategoriename&gt;&lt;![CDATA[Getr&auml;nke]]&gt;&lt;\/Kategoriename&gt;<\/pre>\n<p>Das Ergebnis der Umwandlung der Datensatzgruppe in ein XML-Dokument sieht zwar etwas anders aus als das zu Beginn verwendete XML-Dokument, prinzipiell sind die beiden jedoch gleichwertig.<\/p>\n<h2>Transformieren des XML-Dokuments in eine CSV-Datei<\/h2>\n<p>Nun fehlt noch der letzte Schritt: Die Umwandlung des in einer Variablen gespeicherten XML-Dokuments in eine CSV-Datei.<\/p>\n<p>F&uuml;r diesen Vorgang ist die Prozedur ExportiereXML verantwortlich (s. Quellcode 6). Sie wird von der Prozedur KategorienExportieren aufgerufen und erwartet das XML-Dokument als Stringvariable sowie die Namen der zu verwendenden XSL-Datei und der zu speichernden CSV-Datei als Eingangsparameter.<\/p>\n<pre>Public Sub ExportiereXML(ByVal strXMLDokument As _    String, ByVal strXSLDatei As String, _    ByVal strExportdatei As String)\r\n    Dim xmlDokument As MSXML2.DOMDocument\r\n    Dim xmlStylesheet As MSXML2.DOMDocument\r\n    Dim lngFilenumber As Long\r\n    lngFilenumber = FreeFile\r\n    Open strExportdatei For Output As lngFilenumber\r\n    Set xmlDokument = New MSXML2.DOMDocument\r\n    xmlDokument.loadXML strXMLDokument\r\n    Set xmlStylesheet = New MSXML2.DOMDocument\r\n    xmlStylesheet.Load strXSLDatei\r\n    Print #lngFilenumber, _        xmlDokument.transformNode(xmlStylesheet)\r\n    Close lngFilenumber\r\n    Set xmlStylesheet = Nothing\r\n    Set xmlDokument = Nothing\r\nEnd Sub<\/pre>\n<p><b>Quellcode 6<\/b><\/p>\n<p>Der Deklarationsteil umfasst zwei Objekte zur Speicherung von XML-Dokumenten &#8211; je eines f&uuml;r das XML-Dokument und das XSL-Dokument.<\/p>\n<p>Die Prozedur bereitet zun&auml;chst eine leere Datei zum Speichern des resultierenden CSV-Dokuments vor und l&auml;dt dann das &uuml;bergebene XML-Dokument im Textformat in das erste XML-Dokumentobjekt. In das zweite XML-Dokumentobjekt liest es das im Filesystem befindliche XSL-Dokument ein. Eine einzige Anweisung transformiert dann das XML-Dokument mit dem XSL-Dokument und speichert das Ergebnis in der CSV-Datei.<\/p>\n<p>Im Verzeichnis der aktuellen Datenbank finden Sie nun eine Datei namens Kategorien.csv. Wenn Sie Excel installiert haben, wird es durch einen Doppelklick auf die soeben erstellte Datei vermutlich automatisch gestartet, um den Dateiinhalt anzuzeigen (siehe Bild 6).<\/p>\n<p>Es sind noch viele andere Formate f&uuml;r den Export solcher und &auml;hnlicher Daten denkbar. Die Basis daf&uuml;r haben Sie mit den drei beschriebenen Prozeduren bereits geschaffen, Sie m&uuml;ssen lediglich die Prozedur KategorienExportieren geringf&uuml;gig anpassen (s. Quellcode 7).<\/p>\n<p>Als weitere Exportformate kommen beispielsweise Formate mit festem Zeilenabstand, HTML oder RTF in Frage. Letztere bieten durch die jeweiligen Formatierungsm&ouml;glichkeiten nat&uuml;rlich unendlichen Spielraum bei der Gestaltung von Exportformaten.<\/p>\n<p><IMG height=\"344\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic006.png\" width=\"373\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6:  Die CSV-Datei in Excel<\/span><\/b><\/p>\n<h2>Formular zur Steuerung der Exporte<\/h2>\n<p>Bevor Sie sich uns mit HTML noch ein weiteres Format ansehen, legen Sie schnell ein Formular an, von dem aus Sie die Exporte ohne Verwendung des Testfensters ausf&uuml;hren k&ouml;nnen. Das Formular besteht aus drei Steuerelementen:<\/p>\n<li>ein Kombinationsfeld zur Auswahl des Export-Formats<\/li>\n<li>ein Textfeld zur Eingabe der Zieldatei<\/li>\n<li>eine Schaltfl&auml;che zum Starten des Exports<\/li>\n<p>Das Formular aus Bild 7 lie&szlig;e sich noch beliebig erweitern; beispielsweise w&auml;re die Anzeige des f&uuml;r den aktuellen Export verwendeten XML-Dokuments oder des f&uuml;r die Transformation eingesetzten XSL-Dokuments interessant. <\/p>\n<pre>Public Sub KategorienExportieren(intFormat As Integer, strZieldatei As String)\r\n    Dim rst As ADODB.Recordset\r\n    Dim strXMLDokument As String\r\n    Dim cnn As ADODB.Connection\r\n    Dim strDatenbankpfad As String\r\n    Set cnn = CurrentProject.Connection\r\n    Set rst = New ADODB.Recordset\r\n    strDatenbankpfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _        Len(Dir(CurrentDb.Name)))\r\n    rst.Open \"SELECT [Kategorie-Nr], Kategoriename FROM Kategorien\", cnn, _        adOpenStatic, adLockReadOnly\r\n    strXMLDokument = DatensatzgruppeInXMLKonvertieren(rst, \"Kategorien\", \"Kategorie\")\r\n    rst.Close\r\n    Set rst = Nothing\r\n    Select Case intFormat\r\n        Case 1\r\n            ExportiereXML strXMLDokument, strDatenbankpfad & \"Kategorien_CSV.xsl\", _                strDatenbankpfad & strZieldatei\r\n        Case 2\r\n            ExportiereXML strXMLDokument, strDatenbankpfad & \"Kategorien_HTML.xsl\", _                strDatenbankpfad & strZieldatei\r\n    End Select\r\nEnd Sub<\/pre>\n<p><b>Quellcode 7<\/b><\/p>\n<p>Das Kombinationsfeld zur Auswahl des Exportformats hat eine Wertliste als Datensatzherkunft, die mit dem bereits vorhandenen und dem noch geplanten HTML-Export zwei Eintr&auml;ge aufweist. Die Datensatzherkunft sieht folgenderma&szlig;en aus:<\/p>\n<pre>1;\"CSV\";\"Kategorien.csv\";2;\"HTML\";\"Kategorien.htm\"<\/pre>\n<p><IMG height=\"210\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic007.png\" width=\"401\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7:  Formular zur Steuerung von Exporten<\/span><\/b><\/p>\n<p>Der Zahlenwert wird von der durch die Schaltfl&auml;che Export starten aufgerufenen Prozedur ausgelesen und ebenso wie der Name der Zieldatei an die Prozedur KategorienExportieren &uuml;bergeben. Der Prozeduraufruf sieht so aus:<\/p>\n<pre>Private Sub cmdExportStarten_Click()\r\n    KategorienExportieren _        Me.cboZielformat, Me.txtZieldatei\r\nEnd Sub<\/pre>\n<p>Die Prozedur KategorienExportieren muss an einigen Stellen angepasst werden, um verschiedene Exportformate bedienen zu k&ouml;nnen. Die neue Version der Prozedur finden Sie in Quellcode 8.<\/p>\n<p>Der wesentliche Teil der &auml;nderungen bezieht sich auf das Hinzuf&uuml;gen der beiden &uuml;bergabeparameter sowie ihre Auswertung. So finden Sie am Ende der Prozedur ein Select Case-Statement, das die dem Wert des Parameters intFormat entsprechende Export-Variante anst&ouml;&szlig;t.<\/p>\n<h2>Export in das HTML-Format<\/h2>\n<p>F&uuml;r den HTML-Export der Kategoriedaten ben&ouml;tigen Sie neben der bereits vollzogenen &auml;nderung der Prozedur KategorienExportieren noch eine entsprechende XSL-Datei.<\/p>\n<pre>Public Sub KategorienExportieren(intFormat As Integer, _    strZieldatei As String)\r\n    Dim rst As ADODB.Recordset\r\n    Dim strXMLDokument As String\r\n    Dim cnn As ADODB.Connection\r\n    Dim strDatenbankpfad As String\r\n    Set cnn = CurrentProject.Connection\r\n    Set rst = New ADODB.Recordset\r\n    strDatenbankpfad = Left(CurrentDb.Name, _        Len(CurrentDb.Name) - Len(Dir(CurrentDb.Name)))\r\n    rst.Open \"SELECT [Kategorie-Nr], Kategoriename \" _        & \"FROM Kategorien\", cnn, adOpenStatic, _        adLockReadOnly\r\n    strXMLDokument = DatensatzgruppeInXMLKonvertieren _        (rst, \"Kategorien\", \"Kategorie\")\r\n    Debug.Print strXMLDokument\r\n    rst.Close\r\n    Set rst = Nothing\r\n    Select Case intFormat\r\n        Case 1\r\n            ExportiereXML strXMLDokument, _                strDatenbankpfad & _               \"Kategorien_CSV.xsl\", _               strDatenbankpfad & strZieldatei\r\n        Case 2\r\n            ExportiereXML strXMLDokument, _                strDatenbankpfad & _                \"Kategorien_HTML.xsl\", _                strDatenbankpfad & strZieldatei\r\n        Case 3\r\n            ''weitere Exportformate\r\n    End Select\r\nEnd Sub<\/pre>\n<p><b>Quellcode 8<\/b><\/p>\n<p>Den Code dieser Datei finden Sie in Quellcode 8. Er entspricht weitgehend dem Code zur Transformierung des XML-Dokuments in das CSV-Format. Es gibt allerdings zwei wesentliche Unterschiede: Die Ausgabe-Methode hei&szlig;t diesmal HTML (&lt;xsl:output method=&#8220;html&#8220;\/&gt;) und die zus&auml;tzlich notwendigen Elemente wie &lt;html&gt;, &lt;body&gt; oder &lt;table&gt; werden direkt in die XSL-Datei integriert.<\/p>\n<p>Das Ergebnis des Exports entspricht den Erwartungen, wie Bild 8 zeigt &#8211; mehr als eine &uuml;bliche HTML-Tabelle ist dabei nicht herausgekommen. Mit wenigen &auml;nderungen am XSL-Dokument lassen sich aber weit h&uuml;bschere Ergebnisse erzielen.<\/p>\n<p><IMG height=\"412\" src=\"..\/fileadmin\/_temp_\/{82EA1188-1167-4053-990F-DE4892A3750E}\/pic008.png\" width=\"266\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8:  Ausgabe der Kategorien im HTML-Format<\/span><\/b><\/p>\n<p>Sie haben im vorliegenden Beitrag gelernt, wie Sie aus Access-Daten zun&auml;chst ein XML-Dokument erstellen und dieses dann als Grundlage f&uuml;r die Transformation in andere Formate wie CSV und HTML verwenden. Nach einer allgemeinen Einf&uuml;hrung haben Sie erfahren, wie Sie den kompletten Vorgang mit Hilfe von VBA automatisieren k&ouml;nnen.<\/p>\n<p>Vor allem aber werden Sie nun nicht mehr durch die in Access vorhandenen M&ouml;glichkeiten zum Export von Daten in andere Formate eingeschr&auml;nkt, sondern k&ouml;nnen jederzeit eigene, dem jeweiligen Anwendungsfall entsprechende Exporteinstellungen festlegen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>XML hat in vielen Bereichen Einzug gehalten, doch zu sehen ist es eigentlich nirgendwo: Hier eine Export-M&ouml;glichkeit, dort ein Webdienst, der Daten im XML-Format ausgibt, aber XML f&uuml;r eigene Zwecke einsetzen Sie sind sicher nicht der Einzige, der jetzt zustimmend nickt. Grund genug, mal eine der vielen M&ouml;glichkeiten von XML n&auml;her zu beleuchten &#8211; beispielsweise den Export von Daten aus Access nach XML und von dort aus direkt weiter in das gew&uuml;nschte Zielformat &#8211; wie zum Beispiel CSV oder HTML.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66012005,662005,44000034,44000026],"tags":[],"class_list":["post-55000266","post","type-post","status-publish","format-standard","hentry","category-66012005","category-662005","category-ImportExport","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Daten im XML-Format exportieren und weiterverarbeiten - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Daten im XML-Format exportieren und weiterverarbeiten\" \/>\n<meta property=\"og:description\" content=\"XML hat in vielen Bereichen Einzug gehalten, doch zu sehen ist es eigentlich nirgendwo: Hier eine Export-M&ouml;glichkeit, dort ein Webdienst, der Daten im XML-Format ausgibt, aber XML f&uuml;r eigene Zwecke einsetzen Sie sind sicher nicht der Einzige, der jetzt zustimmend nickt. Grund genug, mal eine der vielen M&ouml;glichkeiten von XML n&auml;her zu beleuchten - beispielsweise den Export von Daten aus Access nach XML und von dort aus direkt weiter in das gew&uuml;nschte Zielformat - wie zum Beispiel CSV oder HTML.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:56+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"17\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Daten im XML-Format exportieren und weiterverarbeiten\",\"datePublished\":\"2020-05-06T15:17:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/\"},\"wordCount\":2683,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/dd67bdca2fad41dda2f70cc21b4dddb6\",\"articleSection\":[\"1\\\/2005\",\"2005\",\"Import\\\/Export\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/\",\"name\":\"Daten im XML-Format exportieren und weiterverarbeiten - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/dd67bdca2fad41dda2f70cc21b4dddb6\",\"datePublished\":\"2020-05-06T15:17:56+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/dd67bdca2fad41dda2f70cc21b4dddb6\",\"contentUrl\":\"http:\\\/\\\/vg03.met.vgwort.de\\\/na\\\/dd67bdca2fad41dda2f70cc21b4dddb6\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Daten im XML-Format exportieren und weiterverarbeiten\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Daten im XML-Format exportieren und weiterverarbeiten - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/","og_locale":"de_DE","og_type":"article","og_title":"Daten im XML-Format exportieren und weiterverarbeiten","og_description":"XML hat in vielen Bereichen Einzug gehalten, doch zu sehen ist es eigentlich nirgendwo: Hier eine Export-M&ouml;glichkeit, dort ein Webdienst, der Daten im XML-Format ausgibt, aber XML f&uuml;r eigene Zwecke einsetzen Sie sind sicher nicht der Einzige, der jetzt zustimmend nickt. Grund genug, mal eine der vielen M&ouml;glichkeiten von XML n&auml;her zu beleuchten - beispielsweise den Export von Daten aus Access nach XML und von dort aus direkt weiter in das gew&uuml;nschte Zielformat - wie zum Beispiel CSV oder HTML.","og_url":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:56+00:00","og_image":[{"url":"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"17\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Daten im XML-Format exportieren und weiterverarbeiten","datePublished":"2020-05-06T15:17:56+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/"},"wordCount":2683,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6","articleSection":["1\/2005","2005","Import\/Export","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/","url":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/","name":"Daten im XML-Format exportieren und weiterverarbeiten - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#primaryimage"},"thumbnailUrl":"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6","datePublished":"2020-05-06T15:17:56+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#primaryimage","url":"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6","contentUrl":"http:\/\/vg03.met.vgwort.de\/na\/dd67bdca2fad41dda2f70cc21b4dddb6"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Daten_im_XMLFormat_exportieren_und_weiterverarbeiten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Daten im XML-Format exportieren und weiterverarbeiten"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000266"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000266\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}