PHP XML apmācība: izveidojiet, analizējiet, lasiet ar piemēru

Satura rādītājs:

Anonim

Kas ir XML?

XML ir paplašināmās iezīmēšanas valodas saīsinājums.

XML tiek izmantots, lai strukturētu, uzglabātu un transportētu datus no vienas sistēmas uz otru.

XML ir līdzīgs HTML.

Tas izmanto sākuma un aizvēršanas tagus.

Atšķirībā no HTML, XML ļauj lietotājiem definēt savus tagus.

Šajā apmācībā jūs uzzināsiet

  • Kas ir DOM?
  • XML parsētāji
  • Kāpēc izmantot XML?
  • XML dokumentu piemērs
  • Kā lasīt XML, izmantojot PHP
  • Kā izveidot XML dokumentu, izmantojot PHP

Kas ir DOM?

DOM ir dokumenta objekta modeļa saīsinājums.

Tas ir starpplatformu un valodas ziņā neitrāls standarts, kas nosaka, kā piekļūt datiem un ar tiem manipulēt;

  • HTML
  • XHTML
  • XML

DOM XML tiek izmantots, lai piekļūtu XML dokumentiem un ar tiem manipulētu. Tas XML dokumentu skata kā koka struktūru.

XML parsētāji

XML parsētājs ir programma, kas pārveido XML dokumentu XML dokumenta objekta modeļa (DOM) objektā.

Pēc tam ar XML DOM objektu var manipulēt, izmantojot JavaScript, Python un PHP utt.

Atslēgvārds CDATA, kas ir rakstzīmju datu (nepārklātu) akronīms, tiek izmantots, lai XML dokumenta parsēšanas laikā ignorētu īpašās rakstzīmes, piemēram, “<,>”.

Kāpēc izmantot XML?

  • Tīmekļa pakalpojumi, piemēram, SOAP un REST, informācijas apmaiņai izmanto XML formātu. Uzzinot, kas ir XML un kā tas darbojas, iegūsiet konkurences priekšrocības kā izstrādātājam, jo ​​modernās lietojumprogrammās tiek intensīvi izmantoti tīmekļa pakalpojumi.
  • XML dokumentus var izmantot, lai saglabātu lietojumprogrammas konfigurācijas iestatījumus
  • Tas ļauj jums izveidot savus pielāgotos tagus, kas padara tos elastīgākus.

XML dokumenta piemērs

Pieņemsim, ka jūs izstrādājat lietojumprogrammu, kas datus no tīmekļa pakalpojuma iegūst XML formātā.

Zemāk ir XML dokumenta izskata paraugs.

Joe Paul
CEOTasha Smith
Finance Manager

ŠEIT,

  • ” Norāda izmantojamo un kodējamo xml versiju
  • ” ir saknes elements.
  • … ” ir attiecīgi administrēšanas un pārdošanas pakārtotie elementi.

Kā lasīt XML, izmantojot PHP

Tagad uzrakstīsim kodu, kas lasīs darbinieku XML dokumentu un parādīs rezultātus tīmekļa pārlūkprogrammā. 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 . '

';}?>

ŠEIT,

  • "$ Xml = simplexml_load_file ('darbinieki.xml');" izmanto funkciju simplexml_load_file, lai ielādētu faila nosaukumu darbiniekiem.xml un piešķirtu saturu masīva mainīgajam $ xml.
  • “$ List = $ xml-> ieraksts;” iegūst ieraksta mezgla saturu.
  • “For ($ i = 0; $ i
  • “$ List [$ i] -> atribūti () -> man_no;” skan elementa atribūts man_no
  • “$ List [$ i] -> nosaukums;” skan vārda bērna elementa vērtība
  • “$ List [$ i] -> pozīcija;” nolasa bērna elementa pozīcijas vērtību

Pārbauda mūsu lietojumprogrammu

Pieņemot, ka failu index.php esat saglabājis mapē phptus / xml, pārlūkojiet vietrādi URL http: //localhost/phptuts/xml/index.php

Kā izveidot XML dokumentu, izmantojot PHP

Tagad mēs apskatīsim, kā izveidot XML dokumentu, izmantojot PHP.

Mēs izmantosim iepriekš minēto piemēru DOM koka diagrammā.

Šis kods XML dokumenta izveidošanai izmanto klasē DOMDocument iebūvēto PHP.

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

ŠEIT,

  • “$ Dom = new DOMDocument ();” izveido klases DOMDocument instanci.
  • "$ Dom-> encoding = 'utf-8';" iestata dokumentu kodējumu uz utf-8
  • “$ Dom-> xmlVersion = '1.0';” norāda versijas numuru 1.0
  • “$ Dom-> formatOutput = true;” nodrošina, ka izeja ir labi formatēta
  • "$ Root = $ dom-> createElement ('Filmas');" izveido saknes mezglu ar nosaukumu Movies
  • "$ Attr_movie_id = jauns DOMAttr ('movie_id', '5467');" definē mezgla Filmas filmas id atribūtu
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” izveido Filmu mezgla pakārtoto mezglu. ElementName norāda elementa nosaukumu, piemēram, Title. ElementValue iestata pakārtotā mezgla vērtību, piemēram, Kampaņa.
  • “$ Root-> appendChild ($ movie_node);” pievieno elementu movie_node saknes mezglam Filmas
  • “$ Dom-> appendChild ($ root);” pievieno saknes mezglu XML dokumentam.
  • “$ Dom-> save ($ xml_file_name);” saglabā XML failu tīmekļa servera saknes direktorijā.
  • “Echo ''. $ xml_file_name. ' ir veiksmīgi izveidots'; ” izveido saiti uz XML failu.

Pārbauda mūsu lietojumprogrammu

Pieņemot, ka failu create_movies_list esat saglabājis mapē phptuts / xml, pārlūkojiet URL: http: //localhost/phptuts/xml/create_movies_list.php

Noklikšķiniet uz saites movies_list_xml

Kopsavilkums

  • XML ir paplašināmās iezīmēšanas valodas saīsinājums
  • XML var izmantot informācijas apmaiņai starp sistēmām vai lietojumprogrammas konfigurācijas iestatījumu saglabāšanai utt.
  • DOM ir dokumenta objekta modeļa saīsinājums. XML DOM skata XML dokumentu kā koka struktūru
  • XML parsētājs ir programma, kas XML XML dokumentu pārveido par DOM koka struktūru līdzīgu dokumentu.
  • CDATA tiek izmantots, lai ignorētu īpašās rakstzīmes, analizējot XML dokumentus.
  • PHP izmanto simplexml_load_file, lai lasītu XML dokumentus un atgrieztu rezultātus kā skaitlisku masīvu
  • PHP DOMDocument klase, lai izveidotu XML failus.