Vodič za PHP XML: Stvorite, raščlanite, pročitajte s primjerom

Sadržaj:

Anonim

Što je XML?

XML je kratica za Extensible Markup Language.

XML se koristi za strukturiranje, spremanje i transport podataka iz jednog sustava u drugi.

XML je sličan HTML-u.

Koristi oznake za otvaranje i zatvaranje.

Za razliku od HTML-a, XML omogućuje korisnicima da definiraju vlastite oznake.

U ovom vodiču naučit ćete-

  • Što je DOM?
  • XML raščlanjivači
  • Zašto koristiti XML?
  • Primjer XML dokumenta
  • Kako čitati XML pomoću PHP-a
  • Kako stvoriti XML dokument pomoću PHP-a

Što je DOM?

DOM je kratica za Document Object Model.

To je cross platforma i jezično neutralan standard koji definira način pristupa podacima i upravljanje njima;

  • HTML
  • XHTML
  • XML

DOM XML koristi se za pristup i upravljanje XML dokumentima. XML dokument promatra kao strukturu stabla.

XML raščlanjivači

XML parser je program koji prevodi XML dokument u objekt objektnog modela XML dokumenta (DOM).

XML DOM objektom tada se može manipulirati pomoću JavaScript-a, Pythona, PHP-a itd.

Ključna riječ CDATA koja je kratica za (Nerazvrstani) podaci znakova koristi se za ignoriranje posebnih znakova kao što je "<,>" prilikom raščlanjivanja XML dokumenta.

Zašto koristiti XML?

  • Web usluge poput SOAP-a i REST-a koriste XML format za razmjenu informacija. Učenjem što je XML i kako funkcionira dobit ćete konkurentsku prednost kao programer jer moderne aplikacije intenzivno koriste web usluge.
  • XML dokumenti mogu se koristiti za pohranu konfiguracijskih postavki aplikacije
  • Omogućuje vam stvaranje vlastitih prilagođenih oznaka koje ga čine fleksibilnijim.

Primjer XML dokumenta

Pretpostavimo da razvijate aplikaciju koja podatke s web usluge dobiva u XML formatu.

Ispod je uzorak kako izgleda XML dokument.

Joe Paul
CEOTasha Smith
Finance Manager

OVDJE,

  • ” Određuje xml verziju koja će se koristiti i kodiranje
  • "" korijenski je element.
  • " ... " podređeni su elementi administracije odnosno prodaje.

Kako čitati XML pomoću PHP-a

Napišimo sada kod koji će čitati XML dokument zaposlenika i prikazivati ​​rezultate u web pregledniku. 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 . '

';}?>

OVDJE,

  • "$ Xml = simplexml_load_file ('zaposlenici.xml');" koristi funkciju simplexml_load_file za učitavanje imena datoteke zaposlenici.xml i dodjeljivanje sadržaja varijabli polja $ xml.
  • “$ List = $ xml-> record;” dobiva sadržaj čvora zapisa.
  • "For ($ i = 0; $ i
  • "$ List [$ i] -> attributes () -> man_no;" čita atribut man_no elementa
  • “$ List [$ i] -> name;” čita vrijednost elementa podređenog imena
  • “$ List [$ i] -> pozicija;” čita vrijednost podređenog elementa position

Testiranje naše prijave

Pod pretpostavkom da ste datoteku index.php spremili u mapu phptus / xml, pronađite URL http: //localhost/phptuts/xml/index.php

Kako stvoriti XML dokument pomoću PHP-a

Sada ćemo pogledati kako stvoriti XML dokument pomoću PHP-a.

Upotrijebit ćemo gornji primjer u dijagramu stabla DOM.

Sljedeći kôd koristi PHP ugrađeni u klasu DOMDocument za stvaranje XML dokumenta.

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";?>

OVDJE,

  • "$ Dom = novi DOMDocument ();" stvara instancu klase DOMDocument.
  • “$ Dom-> encoding = 'utf-8';" postavlja kodiranje dokumenta na utf-8
  • "$ Dom-> xmlVersion = '1.0';" određuje broj verzije 1.0
  • “$ Dom-> formatOutput = true;” osigurava da je izlaz dobro formatiran
  • "$ Root = $ dom-> createElement ('Filmovi');" stvara korijenski čvor pod nazivom Filmovi
  • "$ Attr_movie_id = novi DOMAttr ('movie_id', '5467');" definira atribut id filma za čvor Movies
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” stvara podređeni čvor čvora Movies. ElementName navodi ime elementa, npr. Title. ElementValue postavlja vrijednost podređenog čvora, npr. Kampanja.
  • "$ Root-> appendChild ($ movie_node);" dodaje elemente movie_node u korijenski čvor Movies
  • “$ Dom-> appendChild ($ root);” dodaje korijenski čvor XML dokumentu.
  • "$ Dom-> spremi ($ xml_file_name);" sprema XML datoteku u korijenski direktorij web poslužitelja.
  • “Echo ''. $ xml_file_name. ' je uspješno stvoren'; " stvara vezu do XML datoteke.

Testiranje naše prijave

Pod pretpostavkom da ste datoteku create_movies_list spremili u mapu phptuts / xml, pronađite URL http: //localhost/phptuts/xml/create_movies_list.php

Kliknite vezu movies_list_xml

Sažetak

  • XML je kratica za Extensible Markup Language
  • XML se može koristiti za razmjenu informacija između sustava ili pohranu konfiguracijskih postavki aplikacije itd.
  • DOM je kratica za Document Object Model. XML DOM gleda XML dokument kao strukturu stabla
  • XML Parser je program koji prevodi XML XML dokument u DOM strukturu stabla poput dokumenta.
  • CDATA se koristi za ignoriranje posebnih znakova prilikom raščlanjivanja XML dokumenata.
  • PHP koristi datoteku simplexml_load_file za čitanje XML dokumenata i vraćanje rezultata kao numerički niz
  • PHP DOMDocument klasa za stvaranje XML datoteka.