---
title: "Tworzenie plików XML na podstawie baz danych relacyjnych"
date: "2011-03-05"
tags: 
  - "cloud-services"
  - "database-tool"
  - "databasespy"
  - "mapforce"
  - "xml-editor"
  - "xmlspy"
description: Odkryj efektywne metody tworzenia poprawnych plików XML na podstawie baz danych relacyjnych, wykorzystując narzędzia DatabaseSpy i XMLSpy, co uprości procesy konwersji danych.
---
Status: #blog

Tags:  #cloud-services #database-tool #databasespy #mapforce #xml-editor #xmlspy

Categories: [Altova](/blog/pl/category/altova.md) 
# Tworzenie plików XML na podstawie baz danych relacyjnych

Czasami, korzystanie z przykładu stworzonego przez kogoś innego to dobry sposób na szybki start projektu. Wadą jest to, że można przegapić lepsze, bardziej efektywne rozwiązanie. W naszym ostatnim artykule na temat [XML w chmurze](https://www.altova.com/blog/2011/01/xml-in-cloud.html), wykorzystaliśmy [DatabaseSpy](https://www.altova.com/pl/databasespy.html) do połączenia z lokalną bazą danych MySQL oraz z usługą Amazon Relational Database Service w chmurze. Użyliśmy funkcji Concat() w zapytaniu SQL SELECT, aby utworzyć wynik w formacie XML z danych, które nie są w formacie XML, jak pokazano poniżej. 

[![Baza danych Spy: zapytanie SQL i wynik](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) 

Nasze zapytanie SELECT zostało oparte na przykładzie zawartym w dokumentacji MySQL dotyczącym obsługi XML. Przyjrzyjmy się bliżej problemowi, który to stwierdzenie próbuje rozwiązać. Można skopiować tabelę wyników z DatabaseSpy, podobną do tej, która jest wyświetlana powyżej, i wkleić ją do okna edytora w programie [XMLSpy](https://www.altova.com/pl/xmlspy.html), ale sama tabela wyników nie tworzy prawidłowo sformatowanego dokumentu XML. Aby być poprawnym zgodnie z [definicja W3C](http://www.w3.org/TR/2004/REC-xml-20040204/#sec-well-formed), Dokument XML musi zawierać element główny. Wszystkie pozostałe elementy i struktury logiczne muszą być umieszczone wewnątrz elementu głównego. Można również postrzegać element główny jako otoczkę obejmującą całą zawartość XML, podobnie jak element <city></city> otacza każdą linię w naszych oryginalnych wynikach. **Lepszy sposób generowania plików XML z danych relacyjnych** Nie musimy ręcznie modyfikować wyników, aby dodać element główny, ani też nie musimy modyfikować naszych już i tak skomplikowanych zapytań SQL, aby dodać ten element. Program DatabaseSpy umożliwia łatwe eksportowanie poprawnych dokumentów XML z tabel baz danych, które zawierają zwykłe dane, takie jak nasza tabela miast. W oknie dialogowym eksportu DatabaseSpy możemy wybrać format XML jako format wyjściowy, kliknąć tabelę "cities", aby wybrać ją z hierarchii baz danych, oraz wybrać XMLSpy jako miejsce docelowe. Sekcja "Podgląd" znajdująca się na dole okna eksportu wyświetla fragment zawartości tabeli. 

[![Okno eksportu danych w DatabaseSpy ](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) 

Po kliknięciu przycisku "Eksport", program DatabaseSpy formatuje dane relacyjne za pomocą elementów XML, których nazwy pochodzą z nazw kolumn tabeli, a następnie przesyła wynik bezpośrednio do programu XMLSpy. Zrzut ekranu poniżej pokazuje fragment pliku w programie XMLSpy. Okno "Wiadomości" na dole potwierdza, że plik jest poprawnie sformatowany. 

[![Okno edycji XMLSpy i okno komunikatów](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)

Należy zauważyć, że program DatabaseSpy dostarczył element główny <Import name = “cities”> i dodał komentarze opisujące typy danych kolumn tabeli bazy danych. Ponadto, nie musieliśmy konstruować instrukcji SQL z użyciem skomplikowanej funkcji `Concat()`. Rozpoczęliśmy ten artykuł, aby zaspokoić proste wymaganie dotyczące elementu głównego, które jest niezbędne do poprawnego wyświetlenia wyniku funkcji `Concat()`, o której wspomnieliśmy wcześniej. Kiedy projekty w rzeczywistych zastosowaniach wymagają konwersji z baz danych relacyjnych do formatu XML, wymagania są prawdopodobnie znacznie bardziej złożone. 

Altova [XMLSpy](https://www.altova.com/pl/xmlspy.html) łączy się bezpośrednio z popularnymi bazami danych, umożliwiając pracę z technologiami XML i danymi relacyjnymi. XMLSpy pozwala łatwo tworzyć schemat XML na podstawie struktury bazy danych, lub tworzyć strukturę bazy danych na podstawie schematu XML. XMLSpy zawiera również zaawansowane edytory i debuggery dla języków XQuery i XPath, przeznaczone do pracy z danymi XML przechowywanymi bezpośrednio w bazach danych, a także specjalne wsparcie dla funkcji XML w bazach danych Microsoft SQL Server, IBM DB2 i Oracle. Wraz z tym, jak coraz więcej branż wdraża i rozwija standardy oparte na XML do wymiany informacji, rośnie zapotrzebowanie na konwersję danych przechowywanych w starszych bazach danych do formatu XML. Altova [MapForce](https://www.altova.com/pl/mapforce.html) łączy się z bazami danych i umożliwia mapowanie oraz transformację danych relacyjnych, aby były one kompatybilne z jednym lub więcej schematów XML.

Można wykorzystać zdefiniowane mapowanie do wykonania jednorazowej konwersji danych, można zapisać i ponownie otworzyć mapowanie, aby wykonać kolejną konwersję w przyszłości, lub można zlecić programowi MapForce wygenerowanie kodu źródłowego, który można wykorzystać w własnym projekcie bez opłat licencyjnych, w przypadku gdy konieczne są wielokrotne konwersje. 

Jeśli chcą Państwo przekonać się, jak dobrze narzędzia Altova potrafią generować poprawnie sformatowane pliki XML z baz danych relacyjnych, [pobierzcie bezpłatną wersję próbną](https://www.altova.com/pl/download/missionkit/software_development_tools_enterprise.html) pakietu [Altova MissionKit](https://www.altova.com/pl/missionkit/software-development-tools.html).
