PHP XML-i õpetus: loomine, sõelumine, näitega lugemine

Lang L: none (table-of-contents):

Anonim

Mis on XML?

XML on laiendatava märgistuskeele lühend.

XML-i kasutatakse andmete struktureerimiseks, salvestamiseks ja transportimiseks ühest süsteemist teise.

XML sarnaneb HTML-iga.

See kasutab avamise ja sulgemise silte.

Erinevalt HTML-ist võimaldab XML kasutajatel oma silte määratleda.

Selles õpetuses saate teada

  • Mis on DOM?
  • XML-i parserid
  • Miks kasutada XML-i?
  • XML-dokumendi näide
  • Kuidas lugeda XML-i PHP abil
  • XML-dokumendi loomine PHP abil

Mis on DOM?

DOM on dokumendi objektimudeli lühend.

See on platvormidevaheline ja keeleneutraalne standard, mis määratleb, kuidas andmetele juurde pääseda ja nendega manipuleerida;

  • HTML
  • XHTML
  • XML

DOM XML-i kasutatakse XML-dokumentidele juurdepääsemiseks ja nendega manipuleerimiseks. See vaatleb XML-dokumenti kui puustruktuuri.

XML-i parserid

XML-i parser on programm, mis tõlgib XML-dokumendi XML-dokumendi objektimudeli (DOM) objektiks.

XML-i DOM-objekti saab seejärel manipuleerida JavaScripti, Pythoni ja PHP abil.

Märksõna CDATA, mis on tähemärk (Unpararsed) Character Data, kasutatakse XML-dokumendi parsimisel erimärkide, näiteks “<,>”, ignoreerimiseks.

Miks kasutada XML-i?

  • Veebiteenused, näiteks SOAP ja REST, kasutavad teabe vahetamiseks XML-vormingut. XML-i ja selle toimimise õppimine annab teile arendajana konkurentsieelise, kuna kaasaegsed rakendused kasutavad veebiteenuseid palju.
  • XML-dokumente saab kasutada rakenduse konfiguratsiooniseadete salvestamiseks
  • See võimaldab teil luua oma kohandatud sildid, mis muudavad selle paindlikumaks.

XML-dokumendi näide

Oletame, et arendate rakendust, mis saab veebiteenusest andmeid XML-vormingus.

Allpool on näide sellest, kuidas XML-dokument välja näeb.

Joe Paul
CEOTasha Smith
Finance Manager

SIIN,

  • " Määrab kasutatava ja kodeeritava xml-i versiooni
  • " on juurelement.
  • … ” on vastavalt administreerimise ja müügi alamelemendid.

Kuidas lugeda XML-i PHP abil

Kirjutame nüüd koodi, mis loeb töötajate XML-dokumendi ja kuvab tulemused veebibrauseris. 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 . '

';}?>

SIIN,

  • "$ Xml = simplexml_load_file ('töötajad.xml');" kasutab funktsiooni simplexml_load_file failinime töötajad.xml laadimiseks ja massiivi muutujale $ xml sisu määramiseks.
  • "$ List = $ xml-> rekord;" saab kirjesõlme sisu.
  • “For ($ i = 0; $ i
  • "$ List [$ i] -> atribuudid () -> man_no;" loeb elemendi atribuuti man_no
  • "$ List [$ i] -> nimi;" loeb nime lapse elemendi väärtust
  • "$ List [$ i] -> positsioon;" loeb positsiooni lapse elemendi väärtust

Meie rakenduse testimine

Eeldades, et olete faili index.php salvestanud kausta phptus / xml, sirvige URL-i http: //localhost/phptuts/xml/index.php

XML-dokumendi loomine PHP abil

Nüüd uurime, kuidas luua XML-dokument PHP abil.

Kasutame ülaltoodud näidet DOM-puu diagrammil.

Järgmine kood kasutab XML-dokumendi loomiseks klassi DOMDocument sisseehitatud PHP-d.

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

SIIN,

  • "$ Dom = new DOMDocument ();" loob klassi DOMDocument eksemplari.
  • "$ Dom-> encoding = 'utf-8';" määrab dokumendi kodeeringuks utf-8
  • "$ Dom-> xmlVersion = '1.0';" määrab versiooni numbri 1.0
  • "$ Dom-> formatOutput = true;" tagab, et väljund on hästi vormindatud
  • "$ Root = $ dom-> createElement ('Filmid');" loob juursõlme nimega Filmid
  • "$ Attr_movie_id = uus DOMAttr ('movie_id', '5467');" määratleb sõlme Filmi filmi id atribuudi
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" loob filmi sõlme alamsõlme. ElementName määrab elemendi nime, nt Pealkiri. ElementValue määrab alamsõlme väärtuse, nt kampaania.
  • "$ Root-> appendChild ($ movie_node);" lisab filmi_sõlm elemendid juursõlmele Filmid
  • "$ Dom-> appendChild ($ juur);" lisab juursõlme XML-dokumendile.
  • "$ Dom-> save ($ xml_file_name);" salvestab XML-faili veebiserveri juurkataloogi.
  • "Echo ''. $ xml_file_name. ' on edukalt loodud'; " loob lingi XML-failile.

Meie rakenduse testimine

Eeldades, et olete faili create_movies_list salvestanud kausta phptuts / xml, sirvige URL-i http: //localhost/phptuts/xml/create_movies_list.php

Klõpsake linki movies_list_xml

Kokkuvõte

  • XML on laiendatava märgistuskeele lühend
  • XML-i saab kasutada süsteemide vahel teabe vahetamiseks või rakenduse konfiguratsiooniseadete salvestamiseks.
  • DOM on dokumendi objektimudeli lühend. XML DOM vaatab XML-dokumenti puustruktuurina
  • XML-i parser on programm, mis tõlgib XML-i XML-dokumendi DOM-i puustruktuuri sarnaseks dokumendiks.
  • CDATA-d kasutatakse XML-dokumentide sõelumisel erimärkide eiramiseks.
  • PHP kasutab simplexml_load_file'i XML-dokumentide lugemiseks ja tulemuste tagastamiseks numbrilise massiivina
  • XML-failide loomiseks klass PHP DOMDocument.