Erstellung von XML-Dateien aus relationalen Datenbanken
Manchmal ist es eine gute Möglichkeit, ein Projekt schnell zu starten, indem man ein Beispiel verwendet, das jemand anderes erstellt hat. Der Nachteil ist, dass man möglicherweise eine bessere, effizientere Lösung verpasst. In unserem letzten Beitrag über XML in der Cloud haben wir DatabaseSpy verwendet, um eine lokale MySQL-Datenbank und den Amazon Relational Database Service in der Cloud zu verbinden. Wir haben die Funktion Concat() in einer SQL-SELECT-Anweisung verwendet, um aus nicht-XML-Daten XML-formatierten Output zu erzeugen, wie im Folgenden gezeigt.
![]()
Unsere SELECT-Anweisung basierte auf einem Beispiel in der MySQL-Dokumentation zum XML-Support. Lassen Sie uns die Problematik, die diese Aussage zu lösen versucht, etwas genauer betrachten. Sie können eine Ergebnistabelle von DatabaseSpy, wie die oben gezeigte, kopieren und in ein Bearbeitungsfenster in XMLSpy einfügen, aber die Ergebnistabelle allein erzeugt kein korrekt formatiertes XML-Dokument. Um gut strukturiert zu sein, gemäß die Definition des W3C, Ein XML-Dokument muss ein Wurzelelement enthalten. Alle anderen Elemente und logischen Strukturen müssen innerhalb des Hauptelements enthalten sein. Sie können das Wurzelelement auch als eine Art "Hülle" um den gesamten XML-Inhalt betrachten, ähnlich wie das Element
![]()
Wenn wir auf die Schaltfläche "Exportieren" klicken, formatiert DatabaseSpy die relationalen Daten mit XML-Elementnamen, die von den Spaltennamen der Tabelle abgeleitet sind, und sendet die resultierende Ausgabe direkt an XMLSpy. Der Screenshot unten zeigt einen Ausschnitt der Datei in XMLSpy. Das Nachrichtenfenster am unteren Rand bestätigt, dass die Datei korrekt formatiert ist.
![]()
Bitte beachten Sie, dass DatabaseSpy das Wurzelelement Concat()-Funktion erstellen. Dieser Beitrag wurde initiiert, um die einfache Anforderung nach einem Wurzelelement zu erfüllen, das für die vollständige Ausgabe der zuvor beschriebenen Concat()-Funktion benötigt wird. Wenn reale Projekte die Konvertierung von relationalen Datenbanken in XML erfordern, sind die Anforderungen wahrscheinlich wesentlich komplexer.
Altova XMLSpy verbindet sich direkt mit allen gängigen Datenbanken, um XML-Technologien und relationale Daten zu verarbeiten. XMLSpy ermöglicht es Ihnen, einfach ein XML-Schema aus einer Datenbankstruktur zu erstellen oder eine Datenbankstruktur aus einem XML-Schema zu generieren. XMLSpy enthält außerdem erweiterte Editoren und Debugger für XQuery und XPath für XML-Daten, die direkt in Datenbanken gespeichert sind. Darüber hinaus bietet es spezielle Unterstützung für XML-Funktionen in Microsoft SQL Server, IBM DB2 und Oracle-Datenbanken. Da immer mehr Branchen XML-basierte Standards für den Datenaustausch einführen und weiterentwickeln, besteht oft der Bedarf, Daten, die in älteren Datenbanken gespeichert sind, in XML umzuwandeln. Altova MapForce verbindet sich mit Datenbanken und ermöglicht es Ihnen, relationale Daten abzubilden und zu transformieren, um sie mit einem oder mehreren XML-Schemas kompatibel zu machen.
Sie können Ihre Mapping-Datei verwenden, um eine einmalige Datenkonvertierung durchzuführen. Sie können Ihre Mapping-Datei speichern und später erneut öffnen, um eine weitere Konvertierung durchzuführen. Alternativ können Sie MapForce anweisen, quellcode ohne Lizenzgebühren aus Ihrer Mapping-Datei zu generieren, den Sie dann in Ihr eigenes Projekt integrieren können, wenn wiederholte Konvertierungen erforderlich sind.
Wenn Sie selbst sehen möchten, wie gut die Altova-Tools gut formatierte XML-Dateien aus relationalen Datenbanken generieren können, laden Sie eine kostenlose Testversion des Altova MissionKit herunter.