Výukový program PHP XML: Vytváření, analýza, čtení s příkladem

Obsah:

Anonim

Co je XML?

XML je zkratka pro Extensible Markup Language.

XML se používá ke strukturování, ukládání a přenosu dat z jednoho systému do druhého.

XML je podobný HTML.

Používá otevírací a zavírací značky.

Na rozdíl od HTML umožňuje XML uživatelům definovat své vlastní značky.

V tomto výukovém programu se naučíte

  • Co je DOM?
  • Analyzátory XML
  • Proč používat XML?
  • Příklad dokumentu XML
  • Jak číst XML pomocí PHP
  • Jak vytvořit dokument XML pomocí PHP

Co je DOM?

DOM je zkratka pro Document Object Model.

Jedná se o multiplatformní a jazykově neutrální standard, který definuje, jak přistupovat k datům a manipulovat s nimi;

  • HTML
  • XHTML
  • XML

DOM XML se používá k přístupu a manipulaci s dokumenty XML. Prohlíží dokument XML jako stromovou strukturu.

Analyzátory XML

Analyzátor XML je program, který převádí dokument XML do objektu modelu XML Document Object Model (DOM).

S objektem DOM DOM lze poté manipulovat pomocí JavaScriptu, Pythonu a PHP atd.

Klíčové slovo CDATA, což je zkratka pro (Unparsed) Character Data, se používá k ignorování speciálních znaků, například „<,>“ při analýze dokumentu XML.

Proč používat XML?

  • Webové služby jako SOAP a REST používají k výměně informací formát XML. Když se naučíte, co je XML a jak funguje, získáte konkurenční výhodu jako vývojář, protože moderní aplikace intenzivně využívají webové služby.
  • Dokumenty XML lze použít k uložení nastavení konfigurace aplikace
  • Umožňuje vám vytvářet vlastní značky, díky nimž je flexibilnější.

Příklad dokumentu XML

Předpokládejme, že vyvíjíte aplikaci, která získává data z webové služby ve formátu XML.

Níže je ukázka toho, jak vypadá dokument XML.

Joe Paul
CEOTasha Smith
Finance Manager

TADY,

  • " Určuje xml verzi, která má být použita a kódování
  • " je kořenový prvek.
  • … “ jsou podřízené prvky správy a prodeje.

Jak číst XML pomocí PHP

Pojďme nyní napsat kód, který přečte XML dokument zaměstnanců a zobrazí výsledky ve webovém prohlížeč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 . '

';}?>

TADY,

  • „$ Xml = simplexml_load_file ('zaměstnanci.xml');“ používá funkci simplexml_load_file k načtení názvu souboru zaměstnanci.xml a přiřazení obsahu k proměnné pole $ xml.
  • „$ List = $ xml-> record;“ získá obsah uzlu záznamu.
  • „For ($ i = 0; $ i
  • „$ List [$ i] -> attributes () -> man_no;“ přečte atribut man_no prvku
  • „$ List [$ i] -> jméno;“ přečte hodnotu podřízeného prvku name
  • „$ List [$ i] -> pozice;“ přečte hodnotu podřízeného prvku pozice

Testování naší aplikace

Za předpokladu, že jste uložili soubor index.php ve složce phptus / xml, přejděte na URL http: //localhost/phptuts/xml/index.php

Jak vytvořit dokument XML pomocí PHP

Nyní se podíváme na to, jak vytvořit dokument XML pomocí PHP.

Výše uvedený příklad použijeme ve stromovém diagramu DOM.

Následující kód používá k vytvoření dokumentu XML PHP zabudované ve třídě 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";?>

TADY,

  • „$ Dom = new DOMDocument ();“ vytvoří instanci třídy DOMDocument třídy.
  • „$ Dom-> encoding = 'utf-8';" nastaví kódování dokumentu na utf-8
  • „$ Dom-> xmlVersion = '1.0';“ určuje číslo verze 1.0
  • „$ Dom-> formatOutput = true;“ zajišťuje, že výstup je dobře formátován
  • „$ Root = $ dom-> createElement („ Movies “);“ vytvoří kořenový uzel s názvem Filmy
  • „$ Attr_movie_id = new DOMAttr ('movie_id', '5467');“ definuje atribut id filmu v uzlu Filmy
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')“ vytvoří podřízený uzel uzlu Movies. Název prvku určuje název prvku, např. Název. ElementValue nastavuje hodnotu podřízeného uzlu, např. Kampaň.
  • „$ Root-> appendChild ($ movie_node);“ připojí prvky movie_node ke kořenovému uzlu Movies
  • „$ Dom-> appendChild ($ root);“ připojí kořenový uzel k dokumentu XML.
  • „$ Dom-> save ($ xml_file_name);“ uloží soubor XML do kořenového adresáře webového serveru.
  • „Echo ''. $ xml_file_name. ' byl úspěšně vytvořen'; “ vytvoří odkaz na soubor XML.

Testování naší aplikace

Za předpokladu, že jste uložili soubor create_movies_list ve složce phptuts / xml, přejděte na URL http: //localhost/phptuts/xml/create_movies_list.php

Klikněte na odkaz movies_list_xml

souhrn

  • XML je zkratka pro Extensible Markup Language
  • XML lze použít k výměně informací mezi systémy nebo k uložení konfiguračních nastavení aplikace atd.
  • DOM je zkratka pro Document Object Model. XML DOM prohlíží dokument XML jako stromovou strukturu
  • Analyzátor XML je program, který převádí XML dokument XML do stromové struktury DOM, jako je dokument.
  • CDATA se používá k ignorování speciálních znaků při analýze dokumentů XML.
  • PHP používá simplexml_load_file ke čtení dokumentů XML a vrácení výsledků jako numerické pole
  • Třída PHP DOMDocument pro vytváření souborů XML.