---
title: "Het genereren van XML-bestanden vanuit relationele databases"
date: "2011-03-05"
tags: 
  - "cloud-services"
  - "database-tool"
  - "databasespy"
  - "mapforce"
  - "xml-editor"
  - "xmlspy"
description: Ontdek efficiënte methoden om correct opgebouwde XML-bestanden te genereren vanuit relationele databases met behulp van DatabaseSpy en XMLSpy, waardoor dataconversieprocessen vereenvoudigd worden.
---
Status: #blog

Tags:  #cloud-services #database-tool #databasespy #mapforce #xml-editor #xmlspy

Categories: [Altova](/blog/nl/category/altova.md) 
# Het genereren van XML-bestanden vanuit relationele databases

Soms is het een goede manier om snel aan een project te beginnen door een voorbeeld te volgen dat iemand anders heeft gemaakt. Het nadeel is dat u mogelijk een betere, efficiëntere oplossing mist. In onze recente publicatie over [XML in de cloud](https://www.altova.com/blog/2011/01/xml-in-cloud.html) hebben we [DatabaseSpy](https://www.altova.com/nl/databasespy.html) gebruikt om verbinding te maken met een lokale MySQL-database en met de Amazon Relational Database Service in de cloud. We hebben de functie Concat() in een SQL SELECT-statement gebruikt om XML-geformatteerde uitvoer te genereren uit niet-XML-gegevens, zoals hieronder wordt weergegeven. 

[![DatabaseSpy: SQL-query en resultaat](https://lh5.ggpht.com/_REdrfeVqYdU/TXAFWTSfrEI/AAAAAAAAAWA/NLFW5WoHMRw/clip_image002_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy SQL query and result")](http://lh4.ggpht.com/_REdrfeVqYdU/TXAFVWm-iAI/AAAAAAAAAV8/d8jL8EwJ9gU/s1600-h/clip_image002%5B5%5D.gif) 

Onze SELECT-statement was gebaseerd op een voorbeeld in de MySQL-documentatie over XML-ondersteuning. Laten we eens wat dieper kijken naar het probleem dat deze stelling probeert aan te pakken. U kunt een DatabaseSpy-resultaatstabel, zoals de tabel hierboven, kopiëren en plakken in een bewerkingsvenster in [XMLSpy](https://www.altova.com/nl/xmlspy.html), maar de resultaatstabel alleen genereert geen correct opgebouwd XML-document. Om correct te zijn volgens [de definitie van de W3C](http://www.w3.org/TR/2004/REC-xml-20040204/#sec-well-formed), Een XML-document moet een hoofdelement bevatten. Alle andere elementen en logische structuren moeten zich binnen de hoofdelement bevinden. U kunt het root-element ook zien als een omhulsel rond de volledige XML-inhoud, net zoals het element <city></city> elke regel in onze oorspronkelijke resultaten omvat. **Een betere manier om XML te genereren uit relationele data** We hoeven de resultaten niet handmatig te bewerken om een hoofdelement toe te voegen, en we hoeven onze al complexe SQL-query ook niet aan te passen om dat hoofdelement toe te voegen. DatabaseSpy stelt ons in staat om eenvoudig goed opgebouwde XML-documenten te exporteren vanuit database tabellen die gewone gegevens bevatten, zoals bijvoorbeeld onze tabel met steden. In het dialoogvenster "DatabaseSpy Exporteren" kunnen we XML-structuur kiezen als het uitvoerformaat, op de tabel "steden" klikken om deze te selecteren uit de databasehiërarchie, en XMLSpy als de bestemming kiezen. Het preview-gedeelte onderaan het exportdialoogvenster toont een weergave van de inhoud van de tabel. 

[![DatabaseSpy: Exportdialoogvenster ](https://lh6.ggpht.com/_REdrfeVqYdU/TXAFWzPSEgI/AAAAAAAAAWI/8exV2WmHjVk/clip_image004_thumb%5B2%5D.jpg?imgmax=800 "DatabaseSpy Export Dialog ")](http://lh6.ggpht.com/_REdrfeVqYdU/TXAFWl-nGmI/AAAAAAAAAWE/x4aIWvoKfUo/s1600-h/clip_image004%5B5%5D.jpg) 

Wanneer we op de knop "Exporteren" klikken, formatteert DatabaseSpy de relationele gegevens met XML-elementnamen die zijn afgeleid van de kolomnamen van de tabel, en stuurt de resulterende uitvoer direct naar XMLSpy. De screenshot hieronder toont een deel van het bestand in XMLSpy. Het venster "Berichten" onderaan bevestigt dat het bestand correct is opgebouwd. 

[![XMLSpy: Bewerkingvenster en Berichtvenster](https://lh5.ggpht.com/_REdrfeVqYdU/TXAFXnLexvI/AAAAAAAAAWQ/5K3VWPBWKC4/clip_image006_thumb%5B1%5D.jpg?imgmax=800 "XMLSpy Editing window and Message window")](http://lh5.ggpht.com/_REdrfeVqYdU/TXAFXClQrzI/AAAAAAAAAWM/ct2iCbJiSDA/s1600-h/clip_image006%5B4%5D.jpg)

Let op dat DatabaseSpy het hoofdelement <Import name = “cities”> heeft geleverd en commentaar heeft toegevoegd om de datatypes van de kolommen in de database tabel te beschrijven. Bovendien hoefden we geen complexe SQL-statement te construeren met een ingewikkelde `Concat()`-functie. We zijn met dit artikel begonnen om aan de eenvoudige eis te voldoen om een hoofdelement toe te voegen om de output van de eerder beschreven `Concat()`-functie compleet te maken. Wanneer projecten in de praktijk een conversie van relationele databases naar XML vereisen, zijn de eisen waarschijnlijk veel complexer. 

Altova [XMLSpy](https://www.altova.com/nl/xmlspy.html) maakt direct verbinding met alle populaire databases om te werken met XML-technologieën en relationele data. XMLSpy stelt u in staat om eenvoudig een XML-schema te creëren op basis van een database structuur, of een database schema te creëren op basis van een XML-schema. XMLSpy bevat ook geavanceerde editors en debuggers voor XQuery en XPath voor XML-data die direct in databases zijn opgeslagen, evenals speciale ondersteuning voor XML-functionaliteit in Microsoft SQL Server, IBM DB2 en Oracle databases. Naarmate meer industrieën XML-gebaseerde standaarden voor gegevensuitwisseling implementeren en verder ontwikkelen, is er vaak een behoefte om gegevens die zijn opgeslagen in oudere databases om te zetten naar XML. Altova [MapForce](https://www.altova.com/nl/mapforce.html) maakt verbinding met databases en stelt u in staat om relationele data te mappen en te transformeren, zodat deze compatibel zijn met één of meerdere XML-schema's.

U kunt uw mapping gebruiken om eenmalig gegevens om te zetten. U kunt uw mapping ook opslaan en later opnieuw openen om een andere conversie uit te voeren. Daarnaast kunt u MapForce instrueren om royalty-vrije broncode te genereren op basis van uw mapping, die u vervolgens in uw eigen project kunt opnemen wanneer herhaalde conversies nodig zijn. 

Als u zelf wilt zien hoe goed de Altova-tools goed opgemaakte XML-bestanden kunnen genereren vanuit relationele databases, [download dan een gratis proefversie](https://www.altova.com/nl/download/missionkit/software_development_tools_enterprise.html) van de [Altova MissionKit](https://www.altova.com/nl/missionkit/software-development-tools.html).
