Š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 CEO Tasha Smith Finance Manager
OVDJE,
- “ Xml version =" 1.0 "encoding =" utf-8 "?>” 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.