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 funkce. 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” ?>

Atribut Možné varianty
version 1.0
encoding UTF-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

4.7/5 - (4 votes)

Ing. Jan Zedníček - Data Engineer & Controlling

Jmenuji se Honza Zedníček a působím jako freelancer. Pracoval jsem dříve také jako BI developer, finanční controller a analytik. Vše pro společnosti z oblasti IT, bankovnictví, consultingu a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a občas neúspěšně odpálím pár balónků v golfu 🏌️

Již cca 10 let zapisuji na tento web různé návody určené zejména odborné veřejnosti, studentům a zájemcům o informace z oblastí Business intelligence, korporátních financí a reportingu.

🔥 Přihlašte se do naší Excel facebook skupiny (2.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »

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

  1. Zdravím Honzo, i když to třeba nemusí být tím rumem a jeho důsledky, velmi oceňuji tyto stránky a exkurzi do XML/SQL. Kdo s tím nepracuje rutinně má to jako šikovný kopanec ke správnému postupu, což je i můj případ. Pracuji na MMR a vytvářím číselníky a datové položky, tedy elementy a atributy, pokud je XML použit. Přeji hodně zdraví a jasnou mysl.

Leave a Reply

Your email address will not be published. Required fields are marked *