dnes je 11.12.2024

Input:

Excel 2010: Makra - VBA - XML - 11. část

7.6.2013, , Zdroj: Verlag Dashöfer

V předchozím dílu o XML jsme zahájili práci s DOM = Document Object Model. Důvodem je, že existují důležité situace, kdy se standardní podporou Excelu nevystačíme. Minule jsme přes VBA reference připojili dynamickou knihovnu Microsoft XML, v. 6.0, která obsahuje objektový model DOMDocument60. Dnes jeho některé součásti použijeme, abychom postupně sestrojili datový XML soubor.

Podkladová úloha: Ponecháváme si příklad  s Klubem Franze Kafky z minulých dílů. Stáhněte si sešit 2013-11 xml.xlsm z odkazu na konci článku. Sešit otevřete.  Uvidíte zhruba toto:

Předsedu urgovali z UNESCO proč to všechno trvá tak dlouho, že chtěli jen rozdělit náboženství do položek. Předseda vám denně telefonuje, na čem to vázne. Vaše nervozita stoupá, protože jste dosud s DOM nepracovali, a všechno pohodlně zařídil Excel. Jenže příprava schémat a jejich mapování po každé změně vyvolané UNESCO vás natolik znechucuje, že se prostě chcete naučit XMLDOM.

V prvním přiblížení se zcela oprostíme od schémat. Jednoduše zkusíme sestrojit XML soubor, který podle našeho přesvědčení reprezentuje strukturu dat Formuláře. Vezmeme si vzorovou větu:

<KFK>

<Diagnoza_od_psychologa>

Lehká obsedantní neuróza s občasnými záchvaty bludů

</Diagnoza_od_psychologa>

 <Diagnoza_od_psychologa>Kýchání v průvanu</Diagnoza_od_psychologa>

 <Datum_prihlasky>40983</Datum_prihlasky>

 <Jmeno_uchazece>Josef Novák</Jmeno_uchazece>

 <datum_narozeni>41265</datum_narozeni>

 <Strucny_popis_zadatelova_nejhruznejsiho_snu>

        Přicházím k přijímacímu pohovoru, a předsedou komise je Stalin. Dozvídám se, že když neuspěji, popraví moji matku, a když uspěji, popraví mého otce.

</Strucny_popis_zadatelova_nejhruznejsiho_snu>

<Znameni_zverokruhu>Rak</Znameni_zverokruhu>

<Kniha>Proces</Kniha>

<Kniha>Myslivec Grachus</Kniha>

 <Kniha>Při stavbě čínské zdi</Kniha>

 <Kniha>Der schloss</Kniha>

 <Kniha>Markéta Lazarová</Kniha>

 <Kniha>Das schloss</Kniha>

<Kniha>Dášenka</Kniha>

 <Nabozenstvi>Judaismus</Nabozenstvi>

 <Na_pocitaci_prihlasen> Františec </Na_pocitaci_prihlasen>

</KFK>

Posledně jsme si zvýraznili následující součástky objektového modelu, s nimiž budeme nejvíce pracovat:

  • IXMLDOMProcessingInstruction – povinný úvodní řetězec XML dokumentu, popisující předepsané zacházení s  daty v navazujícím úseku dokumentu.
  • IXMLDOMElement – Element datové struktury v jejích různých místech
  • IXMLDOMAttribute – atribut
Nahrávám...
Nahrávám...