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

XML olvasása PHP segítségével

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

Hozzon létre egy XML dokumentumot PHP segítségével

Kattintson a movies_list_xml linkre

Hozzon létre egy XML dokumentumot PHP segítségével

Ö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.