PHP XML oktatóanyag: létrehozás, elemzés, olvasás példával
Mi az XML?
Az XML az Extensible Markup Language rövidítése.
Az XML-t az adatok strukturálására, tárolására és egyik rendszerből a másikba való továbbítására használják.
Az XML hasonló a HTML-hez.
Nyitó és záró címkéket használ.
A HTML-től eltérően az XML lehetővé teszi a felhasználók számára, hogy meghatározzák saját címkéket.
Mi az a DOM?
A DOM a Document Object Model rövidítése.
Ez egy több platformon és nyelven semleges szabvány, amely meghatározza az adatok elérésének és kezelésének módját;
- HTML
- XHTML
- XML
A DOM XML-t az XML dokumentumok eléréséhez és kezeléséhez használják. Azt megtekinti az XML dokumentumot mint fa-szerkezet.
XML elemzők
Az XML-elemző egy olyan program, amely az XML-dokumentumot XML-dokumentumobjektum-modell (DOM) objektummá fordítja le.
Az XML DOM objektum ezután a használatával manipulálható JavaForgatókönyv, Python, és PHP stb.
A CDATA kulcsszó, amely az (Unparsed) Character Data mozaikszó, a speciális karakterek, például a „<,>” figyelmen kívül hagyására szolgál XML-dokumentum elemzésekor.
Miért érdemes XML-t használni?
- Az olyan webszolgáltatások, mint a SOAP és a REST, XML formátumot használnak az információcserére. Ha megtanulja, mi az XML és hogyan működik, versenyelőnyhöz juthat fejlesztőként, mivel a modern alkalmazások nagymértékben kihasználják a webszolgáltatásokat.
- Az XML dokumentumok az alkalmazások konfigurációs beállításainak tárolására használhatók
- Lehetővé teszi saját egyéni címkék létrehozását, amelyek rugalmasabbá teszik.
XML dokumentum példa
Tegyük fel, hogy olyan alkalmazást fejleszt, amely XML formátumban kap adatokat egy webszolgáltatástól.
Az alábbiakban látható az XML-dokumentum kinézetére vonatkozó példa.
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
ITT,
- " ” határozza meg a használandó xml verziót és a kódolást
- " ” a gyökérelem.
- " … ” az adminisztráció és az értékesítés gyermekelemei.
XML olvasása PHP segítségével
Most írjuk meg azt a kódot, amely beolvassa az alkalmazottak XML-dokumentumát, és megjeleníti az eredményeket egy webböngészőben. index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
ITT,
- "$xml = simplexml_load_file('alkalmazottak.xml');" a simplexml_load_file függvényt használja az alkalmazottak.xml fájlnév betöltéséhez és a tartalom hozzárendeléséhez a $xml tömbváltozóhoz.
- "$lista = $xml->rekord;" megkapja a rekordcsomópont tartalmát.
- "for ($i = 0; $i < count(…)…" a for ciklus), amely beolvassa a numerikus tömböt és kiadja az eredményeket
- "$list[$i]->attributes()->man_no;" beolvassa az elem man_no attribútumát
- "$list[$i]->name;" beolvassa a név gyermek elem értékét
- "$list[$i]->pozíció;" beolvassa a pozíció gyermek elem értékét
Alkalmazásunk tesztelése
Feltéve, hogy az index.php fájlt a phptus/xml mappába mentette, keresse meg az URL-t http://localhost/phptuts/xml/index.php
Hogyan készítsünk XML dokumentumot PHP-vel
Most megnézzük, hogyan hozhat létre XML-dokumentumot PHP-val.
A fenti példát fogjuk használni a DOM-fa diagramban.
A következő kód a PHP beépített DOMDocument osztályát használja XML-dokumentum létrehozásához.
<?php $dom = new DOMDocument(); $dom->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"; ?>
ITT,
- "$dom = új DOMDocument();" létrehozza a DOMDocument osztály példányát.
- "$dom->encoding = 'utf-8';" a dokumentum kódolását utf-8-ra állítja
- "$dom->xmlVersion = '1.0';" az 1.0 verziószámot adja meg
- "$dom->formatOutput = igaz;" biztosítja a kimenet megfelelő formázását
- "$root = $dom->createElement('Movies');" létrehozza a Movies nevű gyökércsomópontot
- "$attr_movie_id = new DOMAttr('movie_id', '5467');" a Filmek csomópont filmazonosító attribútuma határozza meg
- A „$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')” létrehozza a Filmek csomópont gyermekcsomópontját. Az ElementName az elem nevét adja meg, pl. Title. Az ElementValue beállítja a gyermek csomópont értékét, pl. a kampányt.
- "$root->appendChild($movie_node);" hozzáfűzi a movie_node elemeket a Movies gyökércsomóponthoz
- "$dom->appendChild($root);" hozzáfűzi a gyökér csomópontot az XML dokumentumhoz.
- "$dom->save($xml_file_name);" elmenti az XML fájlt a webszerver gyökérkönyvtárába.
- "visszhang " . $xml_file_name . ' sikeresen létrehozva';” létrehozza az XML fájl hivatkozását.
Alkalmazásunk tesztelése
Feltéve, hogy a create_movies_list fájlt a phptuts/xml mappába mentette, keresse meg az URL-t http://localhost/phptuts/xml/create_movies_list.php
Kattintson a movies_list_xml linkre
Összegzésként
- XML az Extensible Markup Language rövidítése
- Az XML használható a rendszerek közötti információcserére vagy egy alkalmazás konfigurációs beállításainak tárolására stb.
- A DOM a Document Object Model rövidítése. Az XML DOM az XML dokumentumot fastruktúraként tekinti meg
- Az XML-elemző egy olyan program, amely az XML-dokumentumot DOM-fastruktúra-szerű dokumentummá fordítja le.
- A CDATA a speciális karakterek figyelmen kívül hagyására szolgál XML dokumentumok elemzésekor.
- PHP a simplexml_load_file segítségével olvassa be az XML dokumentumokat, és numerikus tömbként adja vissza az eredményeket
- PHP DOMDocument osztály XML fájlok létrehozásához.