Tutorial PHP XML: Creați, analizați, citiți cu un exemplu

Cuprins:

Anonim

Ce este XML?

XML este acronimul pentru Extensible Markup Language.

XML este utilizat pentru a structura, stoca și transporta date de la un sistem la altul.

XML este similar cu HTML.

Folosește etichete de deschidere și închidere.

Spre deosebire de HTML, XML permite utilizatorilor să își definească propriile etichete.

În acest tutorial, veți învăța-

  • Ce este DOM?
  • Analizatori XML
  • De ce să folosiți XML?
  • Exemplu de document XML
  • Cum se citește XML folosind PHP
  • Cum se creează un document XML folosind PHP

Ce este DOM?

DOM este acronimul pentru Document Object Model.

Este un standard neutru în mai multe platforme și limbă, care definește modul de accesare și manipulare a datelor;

  • HTML
  • XHTML
  • XML

DOM XML este utilizat pentru a accesa și manipula documente XML. Vizualizează documentul XML ca o structură de copac.

Analizatori XML

Un analizor XML este un program care traduce documentul XML într-un obiect XML Document Object Model (DOM).

Obiectul XML DOM poate fi apoi manipulat folosind JavaScript, Python și PHP etc.

Cuvântul cheie CDATA, care este acronimul pentru (Unparsed) Data Character, este utilizat pentru a ignora caracterele speciale, cum ar fi „<,>” la analizarea unui document XML.

De ce să folosiți XML?

  • Serviciile web precum SOAP și REST utilizează formatul XML pentru a face schimb de informații. Învățarea a ceea ce este XML și cum funcționează vă va oferi un avantaj competitiv ca dezvoltator, deoarece aplicațiile moderne utilizează intens serviciile web.
  • Documentele XML pot fi utilizate pentru a stoca setările de configurare ale unei aplicații
  • Vă permite să creați propriile etichete personalizate, care să o facă mai flexibilă.

Exemplu de document XML

Să presupunem că dezvoltați o aplicație care obține date de la un serviciu web în format XML.

Mai jos este exemplul de aspect al documentului XML.

Joe Paul
CEOTasha Smith
Finance Manager

AICI,

  • ” Specifică versiunea xml care urmează să fie utilizată și codare
  • ” este elementul rădăcină.
  • ... ” sunt elementele secundare ale administrării și respectiv ale vânzărilor.

Cum se citește XML folosind PHP

Să scriem acum codul care va citi documentul XML al angajaților și va afișa rezultatele într-un browser web. 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 . '

';}?>

AICI,

  • „$ Xml = simplexml_load_file ('angajați.xml');” folosește funcția simplexml_load_file pentru a încărca numele fișierului employee.xml și atribui conținutul variabilei matrice $ xml.
  • „$ List = $ xml-> record;” obține conținutul nodului de înregistrare.
  • „For ($ i = 0; $ i
  • „$ List [$ i] -> atribute () -> man_no;” citește atributul man_no al elementului
  • „$ List [$ i] -> nume;” citește valoarea elementului copil nume
  • „$ List [$ i] -> poziție;” citește valoarea elementului copil poziție

Testarea aplicației noastre

Presupunând că ați salvat fișierul index.php în folderul phptus / xml, navigați la adresa URL http: //localhost/phptuts/xml/index.php

Cum se creează un document XML folosind PHP

Vom analiza acum cum să creăm un document XML folosind PHP.

Vom folosi exemplul de mai sus în diagrama arborelui DOM.

Următorul cod folosește PHP încorporat în clasa DOMDocument pentru a crea un document XML.

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

AICI,

  • „$ Dom = new DOMDocument ();” creează o instanță a clasei DOMDocument.
  • „$ Dom-> encoding = 'utf-8';” setează codarea documentului la utf-8
  • „$ Dom-> xmlVersion = '1.0';” specifică numărul de versiune 1.0
  • „$ Dom-> formatOutput = true;” asigură că ieșirea este bine formatată
  • „$ Root = $ dom-> createElement („ Filme ”);” creează nodul rădăcină numit Filme
  • „$ Attr_movie_id = new DOMAttr ('movie_id', '5467');” definește atributul id film al nodului Filme
  • „$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” creează nodul copil al nodului Filme. ElementName specifică numele elementului, de ex. Titlu. ElementValue setează valoarea nodului copil, de ex. Campania.
  • „$ Root-> appendChild ($ movie_node);” adaugă elementele movie_node la nodul rădăcină Filme
  • „$ Dom-> appendChild ($ root);” adaugă nodul rădăcină la documentul XML.
  • „$ Dom-> save ($ xml_file_name);” salvează fișierul XML în directorul rădăcină al serverului web.
  • „Echo ''. $ xml_file_name. „ a fost creat cu succes”; ” creează linkul către fișierul XML.

Testarea aplicației noastre

Presupunând că ați salvat fișierul create_movies_list în folderul phptuts / xml, navigați la adresa URL http: //localhost/phptuts/xml/create_movies_list.php

Faceți clic pe link-ul movies_list_xml

rezumat

  • XML este acronimul pentru Extensible Markup Language
  • XML poate fi utilizat pentru schimbul de informații între sisteme sau stocarea setărilor de configurare ale unei aplicații etc.
  • DOM este acronimul pentru Document Object Model. XML DOM vizualizează documentul XML ca o structură de copac
  • Un analizor XML este un program care traduce XML un document XML într-un arbore DOM, cum ar fi un document.
  • CDATA este folosit pentru a ignora caracterele speciale atunci când se analizează documente XML.
  • PHP folosește simplexml_load_file pentru a citi documente XML și a returna rezultatele ca o matrice numerică
  • Clasa PHP DOM Document pentru a crea fișiere XML.