Čo je to XML?
XML je skratka pre Extensible Markup Language.
XML sa používa na štruktúrovanie, ukladanie a prenos údajov z jedného systému do druhého.
XML je podobné HTML.
Používa otváracie a zatváracie značky.
Na rozdiel od HTML umožňuje XML používateľom definovať svoje vlastné značky.
V tomto návode sa naučíte
- Čo je DOM?
- Analyzátory XML
- Prečo používať XML?
- Príklad dokumentu XML
- Ako čítať XML pomocou PHP
- Ako vytvoriť dokument XML pomocou PHP
Čo je DOM?
DOM je skratka pre Document Object Model.
Je to multiplatformový a jazykovo neutrálny štandard, ktorý definuje spôsob prístupu a manipulácie s údajmi;
- HTML
- XHTML
- XML
DOM XML sa používa na prístup a manipuláciu s dokumentmi XML. Prezerá dokument XML ako stromovú štruktúru.
Analyzátory XML
Analyzátor XML je program, ktorý prevádza dokument XML na objekt modelu XML Document Object Model (DOM).
S objektom XML DOM potom možno manipulovať pomocou JavaScriptu, Pythonu a PHP atď.
Kľúčové slovo CDATA, ktoré je skratkou pre (Unparsed) Character Data, sa používa na ignorovanie špeciálnych znakov, ako napríklad „<,>“ pri analýze dokumentu XML.
Prečo používať XML?
- Webové služby ako SOAP a REST používajú na výmenu informácií formát XML. Ak sa naučíte, čo je XML a ako to funguje, získate ako vývojári konkurenčné výhody, pretože moderné aplikácie vo veľkej miere využívajú webové služby.
- Dokumenty XML možno použiť na uloženie konfiguračných nastavení aplikácie
- Umožňuje vám vytvárať vlastné vlastné značky, ktoré ju robia flexibilnejšou.
Príklad dokumentu XML
Predpokladajme, že vyvíjate aplikáciu, ktorá získava údaje z webovej služby vo formáte XML.
Nižšie je uvedená ukážka toho, ako vyzerá dokument XML.
Joe Paul CEO Tasha Smith Finance Manager
TU,
- „ Xml version =" 1.0 "encoding =" utf-8 "?>" Určuje xml verziu, ktorá sa má použiť a kódovať
- „
" je koreňový prvok. - „
… “ sú podradené prvky správy a predaja.
Ako čítať XML pomocou PHP
Poďme teraz napísať kód, ktorý načíta dokument XML zamestnancov a zobrazí výsledky vo webovom prehliadači. Index.php
Employees Listing
';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '
';}?>
TU,
- „$ Xml = simplexml_load_file ('zamestnanci.xml');“ používa funkciu simplexml_load_file na načítanie názvu súboru zamestnanci.xml a na priradenie obsahu k premennej poľa $ xml.
- „$ List = $ xml-> record;“ získa obsah uzla záznamu.
- „For ($ i = 0; $ i
- „$ List [$ i] -> attributes () -> man_no;“ načíta atribút man_no prvku
- „$ List [$ i] -> meno;“ načíta hodnotu podradeného prvku name
- „$ List [$ i] -> pozícia;“ načíta hodnotu podradeného prvku polohy
Testovanie našej aplikácie
Za predpokladu, že ste uložili súbor index.php do priečinka phptus / xml, prejdite na adresu URL http: //localhost/phptuts/xml/index.php
Ako vytvoriť dokument XML pomocou PHP
Teraz sa pozrieme na to, ako vytvoriť dokument XML pomocou PHP.
Vyššie uvedený príklad použijeme v stromovom diagrame DOM.
Nasledujúci kód používa na vytvorenie dokumentu XML PHP zabudované v triede DOMDocument.
encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>
TU,
- „$ Dom = new DOMDocument ();“ vytvorí inštanciu triedy DOMDocument.
- „$ Dom-> encoding = 'utf-8';" nastaví kódovanie dokumentu na utf-8
- „$ Dom-> xmlVersion = '1.0';“ určuje číslo verzie 1.0
- „$ Dom-> formatOutput = true;“ zaisťuje, že výstup je dobre naformátovaný
- „$ Root = $ dom-> createElement („ Movies “);“ vytvorí koreňový uzol s názvom Filmy
- „$ Attr_movie_id = nový DOMAttr ('film_id', '5467');" definuje atribút id filmu uzla Filmy
- “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" vytvorí podradený uzol uzla Filmy. ElementName špecifikuje názov prvku, napr. Title. ElementValue nastavuje hodnotu podradeného uzla, napr. Kampaň.
- „$ Root-> appendChild ($ movie_node);“ pripojí prvky movie_node do koreňového uzla Movies
- „$ Dom-> appendChild ($ root);“ pripojí koreňový uzol k dokumentu XML.
- „$ Dom-> save ($ xml_file_name);“ uloží súbor XML do koreňového adresára webového servera.
- „Echo ''. $ xml_file_name. ' bol úspešne vytvorený'; ” vytvorí odkaz na súbor XML.
Testovanie našej aplikácie
Za predpokladu, že ste uložili súbor create_movies_list do priečinka phptuts / xml, prejdite na adresu URL http: //localhost/phptuts/xml/create_movies_list.php
Kliknite na odkaz films_list_xml
Zhrnutie
- XML je skratka pre Extensible Markup Language
- XML možno použiť na výmenu informácií medzi systémami alebo na uloženie konfiguračných nastavení aplikácie atď.
- DOM je skratka pre Document Object Model. XML DOM zobrazuje dokument XML ako stromovú štruktúru
- Analyzátor XML je program, ktorý prevádza XML dokument XML do stromovej štruktúry DOM ako dokument.
- CDATA sa používa na ignorovanie špeciálnych znakov pri analýze dokumentov XML.
- PHP používa simplexml_load_file na čítanie XML dokumentov a vracanie výsledkov ako numerické pole
- Trieda PHP DOMDocument na vytváranie súborov XML.