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)

Jan Zedníček - Data & Finance

Jmenuji se Honza Zedníček a působím jako freelancer. Tuto práci dělám pro různé firmy již přes 10 let. Před tím jsem dlouhou dobu pracoval také jako BI developer, finanční controller, analytik a krátce jako finanční manažer. Vše pro společnosti z oblasti IT, bankovnictví a výroby. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl a sloužily i někomu dalšímu.

=> Přihlašte se do naší Excel facebook skupiny (1.4k+ členů), kde si pomáháme Excel CZ/SK diskuse »
=> Pokud vám článek pomohl, sdílejte ho nebo mě uveďte na vašich webových stránkách jako užitečný zdroj informací

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 *