SQL XML – Základy XML – Struktura, tagy, elementy a atributy (Díl 2.)

Pokračujeme v sérii článků věnované práci se XML v prostředí SQL Server. V tomto článku shrnu základy XML (Extensible Markup Language) jako předpoklad pro pokračování v dalších dílech. XML je velmi jednoduché na pochopení takže se není čeho bát. Zde se tedy dozvíte:

  • co je to XML a k čemu slouží
  • jak vypadá XML dokument a jak je strukturován

Co je XML?

Je to značkovací jazyk, který je určen k uložení informací – dat. Tyto data uložená prostřednictvím jazyka XML v dokumentu se pak dají snadno používat v různých aplikacích, protože XML je standardizované. Důležitou vlastností je to, že XML slouží pouze jako nosič dat a neobsahuje žádné další informace – nic nedělá a ani neobsahuje informace o tom, jak se mají data zobrazit. XML je jednoduché a člověk, který jej vidí poprvé dokáže z XML informace vyčíst.

Aktuálně existuje celá řada podobných jazyků z nichž nejpoužívanější je JSON. Btw SQL Server má od edice SQL Server 2016 pro JSON integrovanou podporu také (viz např. článek OPENJSON funkce).

Základy XML a struktura dokumentu

Jak jsem zmiňoval, tak XML struktura je intuitivní na pochopení. V jednoduchém XML níže najdete zprávu Ahoj, toto je jednoduché XML. V následujícíh kapitolách si uvedené xml popíšeme.

<?xml version=“1.0” encoding=“UTF-8” ?>
<zprava_pro_navstevniky_biportal>
 <text> Ahoj, toto je jednoduché XML </text>
</zprava_pro_navstevniky_biportal>

Deklarování XML verze a znaková sada (první řádek)

První řádek XML by měl obsahovat deklaraci verze XML a znakové sady (ano XML myslí i na jiné jazyky než je angličtina). Doporučená deklarace vypadá takto:

<?xml version=“1.0” encoding=“UTF-8” ?>

AtributMožné varianty
version1.0
encodingUTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 to ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP

XML Tagy <>

Každá část XML (elementy, atrubuty viz dále) má počáteční tag <něco> a ukončovací tag </něco> podobně jako HTML. XML je validní pouze pokud jsou části XML správně zahájeny tagem a také ukončeny tagem. Výjimkou je deklarace. Na příkladu níže je nevalidní XML (chybí ukončovací tag </text>).

XML tag mismatch

XML Elementy a Atributy

XML Element: Jak jste si mohli všimnout, tak XML se dělí do sekcí a těm se říká elementy. Struktura elementů je základ každého dokumentu. XML má minimálně 1 rodičovský element (ROOT) a nějakého potomka. Tento potomek může mít dalšího potomka a tak dále. Podívejte se na strukturu XML níže:

  • rodičovským elementem  <zprava_pro_navstevniky_biportal>
  • potomkem je element <zprava>
  • subpotomkem je element <text> a element <poznamka>

<?xml version="1.0" encoding="UTF-8" ?>

  <zprava_pro_navstevniky_biportal>

    <zprava>

        <text> Ahoj, toto je jednoduché XML </text>

   <poznamka> Poznámka 1 </poznamka>

    </zprava>

    <zprava>

        <text> 2. zpráva </text>

   <poznamka> Poznámka 2 </poznamka>

    </zprava>

    <zprava>

        <text> 3. zpráva </text>

   <poznamka> Poznámka 3 </poznamka>

    </zprava>

  </zprava_pro_navstevniky_biportal>

 

Pokud si toto XML představíme jako tabulku, tak výsledkem by bylo

XML Element-výsledek v excelu

XML Atribut: Jednotlivé elementy mohou obsahovat další prvky – atributy. Ty můžeme použít místo vnořených elementů. Na příkladu výše jsme měli 2 subpotomky – <text> a <poznamka>. Na příkladu u atributů element <poznamka> vytvoříme jako atribut elementu <zprava>. Výsledek bude stejný jako v předchozím případě – opět bychom dostali tabulku se sloupci text a poznamka:

<?xml version="1.0" encoding="UTF-8" ?>

<zprava_pro_navstevniky_biportal>

      <zprava poznamka = "Poznámka 1">

            <text> Ahoj, toto je jednoduché XML </text>

      </zprava>

      <zprava poznamka = "Poznámka 2">

            <text> 2. zpráva </text>

      </zprava>

      <zprava poznamka = "Poznámka 3">

            <text> 3. zpráva </text>

      </zprava>

</zprava_pro_navstevniky_biportal>

 

To je vše k základům. Příště už půjdu do SQL Serveru a článek bude o tom, jak XML uložit do databáze

_______________________________________________________________________________________________
Intelligent technologies - podniková řešení a školení
SQL XML – Základy XML – Struktura, tagy, elementy a atributy (Díl 2.)
5 (100%) 2 votes

Napsat komentář

Vaše emailová adresa nebude zveřejněna.

This site uses Akismet to reduce spam. Learn how your comment data is processed.