PHP XML-opplæring: Opprett, analyser, les med eksempel

Innholdsfortegnelse:

Anonim

Hva er XML?

XML er forkortelsen for Extensible Markup Language.

XML brukes til å strukturere, lagre og transportere data fra ett system til et annet.

XML ligner HTML.

Den bruker åpnings- og lukkekoder.

I motsetning til HTML tillater XML brukere å definere egne koder.

I denne veiledningen vil du lære-

  • Hva er DOM?
  • XML-parsere
  • Hvorfor bruke XML?
  • XML-dokumenteksempel
  • Hvordan lese XML ved hjelp av PHP
  • Hvordan lage et XML-dokument ved hjelp av PHP

Hva er DOM?

DOM er forkortelsen for Document Object Model.

Det er en plattform og språknøytral standard som definerer hvordan du får tilgang til og manipulerer data i;

  • HTML
  • XHTML
  • XML

DOM XML brukes til å få tilgang til og manipulere XML-dokumenter. Det ser på XML-dokumentet som en trestruktur.

XML-parsere

En XML-parser er et program som oversetter XML-dokumentet til et XML Document Object Model (DOM) -objekt.

XML DOM-objektet kan deretter manipuleres ved hjelp av JavaScript, Python og PHP etc.

Nøkkelordet CDATA som er forkortelsen for (Unparsed) Character Data brukes til å ignorere spesialtegn som "<,>" når du analyserer et XML-dokument.

Hvorfor bruke XML?

  • Webtjenester som SOAP og REST bruker XML-format for å utveksle informasjon. Å lære hva XML er og hvordan det fungerer, vil gi deg konkurransefortrinn som utvikler, siden moderne applikasjoner benytter webtjenester sterkt.
  • XML-dokumenter kan brukes til å lagre konfigurasjonsinnstillinger for et program
  • Det lar deg lage dine egne tilpassede koder som gjør den mer fleksibel.

Eksempel på XML-dokument

La oss anta at du utvikler et program som mottar data fra en nettjeneste i XML-format.

Nedenfor er eksemplet på hvordan XML-dokumentet ser ut.

Joe Paul
CEOTasha Smith
Finance Manager

HER,

  • " Angir xml-versjonen som skal brukes og koding
  • ” er grunnelementet.
  • ” er de respektive elementene i henholdsvis administrasjon og salg.

Hvordan lese XML ved hjelp av PHP

La oss nå skrive koden som vil lese de ansatte XML-dokumentet og vise resultatene i en nettleser. 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 . '

';}?>

HER,

  • “$ Xml = simplexml_load_file ('ansatte.xml');" bruker simplexml_load_file-funksjonen til å laste inn filnavnet ansatte.xml og tilordne innholdet til arrayvariabelen $ xml.
  • “$ List = $ xml-> record;” får innholdet i postnoden.
  • “For ($ i = 0; $ i
  • “$ List [$ i] -> attributter () -> man_no;” leser man_no-attributtet til elementet
  • “$ Liste [$ i] -> navn;” leser verdien av navnet underordnet element
  • “$ List [$ i] -> posisjon;” leser verdien av posisjonen underordnet element

Testing av søknaden vår

Forutsatt at du lagret filen index.php i phptus / xml-mappen, blar du til URL-en http: //localhost/phptuts/xml/index.php

Hvordan lage et XML-dokument ved hjelp av PHP

Vi vil nå se på hvordan du lager et XML-dokument ved hjelp av PHP.

Vi vil bruke eksemplet ovenfor i DOM-trediagrammet.

Følgende kode bruker PHP innebygd i klassen DOMDocument for å opprette et XML-dokument.

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

HER,

  • “$ Dom = nytt DOMDocument ();” oppretter en forekomst av DOMDocument-klassen.
  • “$ Dom-> koding = 'utf-8';” setter dokumentkodingen til utf-8
  • “$ Dom-> xmlVersion = '1.0';” angir versjonsnummer 1.0
  • “$ Dom-> formatOutput = true;” sørger for at utdataene er godt formatert
  • “$ Root = $ dom-> createElement ('Movies');” oppretter rotnoden som heter Filmer
  • “$ Attr_movie_id = ny DOMAttr ('movie_id', '5467');” definerer film-id-attributtet til filmenoden
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" oppretter undernoden til filmenoden. ElementName spesifiserer navnet på elementet, f.eks. Tittel. ElementValue angir den underordnede nodeverdien, f.eks. Kampanjen.
  • “$ Root-> appendChild ($ movie_node);” legger til movie_node-elementene i rotnoden Movies
  • “$ Dom-> appendChild ($ root);” legger rotnoden til XML-dokumentet.
  • “$ Dom-> lagre ($ xml_filnavn);” lagrer XML-filen i rotkatalogen til webserveren.
  • “Ekko ' '. $ xml_filnavn. ' er vellykket opprettet'; ” oppretter lenken til XML-filen.

Testing av søknaden vår

Forutsatt at du lagret filen create_movies_list i phptuts / xml-mappen, blar du til URL http: //localhost/phptuts/xml/create_movies_list.php

Klikk på linken movie_list_xml

Sammendrag

  • XML er forkortelsen for Extensible Markup Language
  • XML kan brukes til å utveksle informasjon mellom systemer eller lagre konfigurasjonsinnstillinger for et program etc.
  • DOM er forkortelsen for Document Object Model. XML DOM ser på XML-dokumentet som en trestruktur
  • En XML Parser er et program som oversetter XML et XML-dokument til et DOM-trestruktur som et dokument.
  • CDATA brukes til å ignorere spesialtegn når du analyserer XML-dokumenter.
  • PHP bruker simplexml_load_file for å lese XML-dokumenter og returnere resultatene som en numerisk matrise
  • PHP DOMDocument-klasse for å opprette XML-filer.