PHP XML-tutorial: Opret, parse, læs med eksempel

Indholdsfortegnelse:

Anonim

Hvad er XML?

XML er forkortelsen for Extensible Markup Language.

XML bruges til at strukturere, gemme og transportere data fra et system til et andet.

XML svarer til HTML.

Det bruger åbning og lukning af tags.

I modsætning til HTML tillader XML brugere at definere deres egne tags.

I denne vejledning lærer du-

  • Hvad er DOM?
  • XML-parsere
  • Hvorfor bruge XML?
  • Eksempel på XML-dokument
  • Sådan læses XML ved hjælp af PHP
  • Sådan oprettes et XML-dokument ved hjælp af PHP

Hvad er DOM?

DOM er forkortelsen for Document Object Model.

Det er en tværgående platform og sprogneutral standard, der definerer, hvordan man får adgang til og manipulerer data i;

  • HTML
  • XHTML
  • XML

DOM XML bruges til at få adgang til og manipulere XML-dokumenter. Det ser XML-dokumentet som en træstruktur.

XML-parsere

En XML-parser er et program, der oversætter XML-dokumentet til et XML Document Object Model (DOM) objekt.

XML DOM-objektet kan derefter manipuleres ved hjælp af JavaScript, Python og PHP osv.

Nøgleordet CDATA, der er akronymet for (Unparsed) Character Data, bruges til at ignorere specialtegn som "<,>", når man analyserer et XML-dokument.

Hvorfor bruge XML?

  • Webtjenester som SOAP og REST bruger XML-format til at udveksle information. At lære, hvad XML er, og hvordan det fungerer, vil give dig konkurrencemæssige fordele som udvikler, da moderne applikationer gør stor brug af webtjenester.
  • XML-dokumenter kan bruges til at gemme konfigurationsindstillinger for et program
  • Det giver dig mulighed for at oprette dine egne brugerdefinerede tags, der gør den mere fleksibel.

Eksempel på XML-dokument

Lad os antage, at du udvikler et program, der henter data fra en webservice i XML-format.

Nedenfor er eksemplet på, hvordan XML-dokumentet ser ud.

Joe Paul
CEOTasha Smith
Finance Manager

HER,

  • ” Angiver den xml-version, der skal bruges, og kodning
  • ” er rodelementet.
  • " ... " er henholdsvis underordnede elementer i administration og salg.

Sådan læses XML ved hjælp af PHP

Lad os nu skrive koden, der læser medarbejdernes XML-dokument og viser resultaterne i en webbrowser. 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 ('medarbejder.xml');” bruger simplexml_load_file-funktionen til at indlæse filnavnet workers.xml og tildele indholdet til arrayvariablen $ xml.
  • “$ List = $ xml-> record;” får indholdet af postnoden.
  • “For ($ i = 0; $ i
  • “$ List [$ i] -> attributter () -> man_no;” læser elementets attribut man_no
  • “$ Liste [$ i] -> navn;” læser værdien af ​​navnet underordnet element
  • “$ Liste [$ i] -> position;” læser værdien af ​​positionen underordnet element

Test af vores ansøgning

Forudsat at du har gemt filen index.php i phptus / xml-mappen, skal du gå til URL'en http: //localhost/phptuts/xml/index.php

Sådan oprettes et XML-dokument ved hjælp af PHP

Vi vil nu se på, hvordan man opretter et XML-dokument ved hjælp af PHP.

Vi bruger eksemplet ovenfor i DOM-trædiagrammet.

Den følgende kode bruger PHP indbygget i klassen DOMDocument til at oprette 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 = nyt DOMDocument ();” opretter en forekomst af DOMDocument-klassen.
  • “$ Dom-> kodning = 'utf-8';” indstiller dokumentkodningen til utf-8
  • “$ Dom-> xmlVersion = '1.0';” angiver versionsnummer 1.0
  • “$ Dom-> formatOutput = sand;” sikrer, at output er godt formateret
  • “$ Root = $ dom-> createElement ('Film');” opretter rodnoden ved navn Film
  • “$ Attr_movie_id = ny DOMAttr ('movie_id', '5467');” definerer film-id-attributten for filmnoden
  • "$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" opretter underknudepunktet for filmnoden. Elementnavn angiver elementets navn, f.eks. Titel. ElementValue indstiller værdien for den underordnede node, f.eks. Kampagnen.
  • “$ Root-> appendChild ($ movie_node);” tilføjer elementerne movie_node til rodnoden Film
  • “$ Dom-> appendChild ($ root);” føjer rodknudepunktet til XML-dokumentet.
  • “$ Dom-> gem ($ xml_filnavn);” gemmer XML-filen i rodserveren på webserveren.
  • “Ekko ' '. $ xml_filnavn. ' er oprettet med succes'; ” opretter linket til XML-filen.

Test af vores ansøgning

Forudsat at du har gemt filen create_movies_list i phptuts / xml-mappen, skal du gennemse URL'en http: //localhost/phptuts/xml/create_movies_list.php

Klik på film_list_xml-linket

Resumé

  • XML er forkortelsen for Extensible Markup Language
  • XML kan bruges til at udveksle information mellem systemer eller gemme konfigurationsindstillinger for en applikation osv.
  • DOM er forkortelsen for Document Object Model. XML DOM ser XML-dokumentet som en træstruktur
  • En XML Parser er et program, der oversætter XML til et XML-dokument til et DOM-trestruktur som et dokument.
  • CDATA bruges til at ignorere specialtegn ved analyse af XML-dokumenter.
  • PHP bruger simplexml_load_file til at læse XML-dokumenter og returnere resultaterne som et numerisk array
  • PHP DOMDocument-klasse til oprettelse af XML-filer.