PHP XML-handledning: Skapa, analysera, läs med exempel

Innehållsförteckning:

Anonim

Vad är XML?

XML är förkortningen för Extensible Markup Language.

XML används för att strukturera, lagra och transportera data från ett system till ett annat.

XML liknar HTML.

Den använder öppnings- och stängningstaggar.

Till skillnad från HTML tillåter XML användare att definiera sina egna taggar.

I den här handledningen lär du dig-

  • Vad är DOM?
  • XML-analysatorer
  • Varför använda XML?
  • XML-dokumentexempel
  • Hur man läser XML med PHP
  • Hur man skapar ett XML-dokument med PHP

Vad är DOM?

DOM är förkortningen för Document Object Model.

Det är en plattforms- och språkneutral standard som definierar hur man får åtkomst till och manipulerar data i;

  • HTML
  • XHTML
  • XML

DOM XML används för att komma åt och manipulera XML-dokument. Det ser XML-dokumentet som en trädstruktur.

XML-analysatorer

En XML-parser är ett program som översätter XML-dokumentet till ett XML Document Object Model (DOM) -objekt.

XML DOM-objektet kan sedan manipuleras med JavaScript, Python och PHP etc.

Nyckelordet CDATA som är förkortningen för (Unparsed) Character Data används för att ignorera specialtecken som "<,>" vid analysering av ett XML-dokument.

Varför använda XML?

  • Webbtjänster som SOAP och REST använder XML-format för att utbyta information. Att lära sig vad XML är och hur det fungerar ger dig konkurrensfördelar som utvecklare eftersom moderna applikationer använder webbtjänster i hög grad.
  • XML-dokument kan användas för att lagra konfigurationsinställningar för ett program
  • Det låter dig skapa dina egna anpassade taggar som gör den mer flexibel.

Exempel på XML-dokument

Låt oss anta att du utvecklar ett program som hämtar data från en webbtjänst i XML-format.

Nedan följer ett exempel på hur XML-dokumentet ser ut.

Joe Paul
CEOTasha Smith
Finance Manager

HÄR,

  • " Anger den xml-version som ska användas och kodning
  • ” är rotelementet.
  • ” är underordnade element för administration respektive försäljning.

Hur man läser XML med PHP

Låt oss nu skriva koden som läser anställdas XML-dokument och visar resultaten i en webbläsare. 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 . '

';}?>

HÄR,

  • “$ Xml = simplexml_load_file ('medarbetare.xml');" använder simplexml_load_file-funktionen för att ladda filnamnet workers.xml och tilldela innehållet till arrayvariabeln $ xml.
  • “$ List = $ xml-> post;” får innehållet i postnoden.
  • “För ($ i = 0; $ i
  • “$ List [$ i] -> attribut () -> man_no;” läser attributet man_no för elementet
  • “$ List [$ i] -> namn;” läser värdet på namnet underordnat element
  • “$ List [$ i] -> position;” läser värdet på positionen underordnat element

Testar vår ansökan

Förutsatt att du har sparat filen index.php i mappen phptus / xml, bläddra till URL: en http: //localhost/phptuts/xml/index.php

Hur man skapar ett XML-dokument med PHP

Vi kommer nu att titta på hur man skapar ett XML-dokument med PHP.

Vi kommer att använda exemplet ovan i DOM-träddiagrammet.

Följande kod använder den inbyggda PHP i klass DOMDocument för att skapa ett 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";?>

HÄR,

  • “$ Dom = nytt DOMDocument ();” skapar en instans av DOMDocument-klassen.
  • “$ Dom-> kodning = 'utf-8';” ställer in dokumentkodningen till utf-8
  • “$ Dom-> xmlVersion = '1.0';” anger versionsnummer 1.0
  • “$ Dom-> formatOutput = true;” säkerställer att utdata är välformaterad
  • “$ Root = $ dom-> createElement ('Filmer');” skapar rotnoden med namnet Filmer
  • “$ Attr_movie_id = ny DOMAttr ('movie_id', '5467');” definierar film-id-attributet för filmnoden
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” skapar undernoden för Movies-noden. ElementName anger namnet på elementet, t.ex. Titel. ElementValue ställer in värdet för den underordnade noden, t.ex. kampanjen.
  • “$ Root-> appendChild ($ movie_node);” lägger till movie_node-elementen till rotnoden Movies
  • “$ Dom-> appendChild ($ root);” lägger till rotnoden i XML-dokumentet.
  • “$ Dom-> spara ($ xml_filnamn);” sparar XML-filen i webbserverns rotkatalog.
  • “Echo ' '. $ xml_filnamn. ' har skapats framgångsrikt'; ” skapar länken till XML-filen.

Testar vår ansökan

Förutsatt att du har sparat filen create_movies_list i phptuts / xml-mappen, bläddra till URL: n http: //localhost/phptuts/xml/create_movies_list.php

Klicka på länken films_list_xml

Sammanfattning

  • XML är förkortningen för Extensible Markup Language
  • XML kan användas för att utbyta information mellan system eller lagra konfigurationsinställningar för en applikation etc.
  • DOM är förkortningen för Document Object Model. XML DOM visar XML-dokumentet som en trädstruktur
  • En XML-analysator är ett program som översätter XML till ett XML-dokument till ett DOM-trädstrukturliknande dokument.
  • CDATA används för att ignorera specialtecken vid analys av XML-dokument.
  • PHP använder simplexml_load_file för att läsa XML-dokument och returnera resultaten som en numerisk matris
  • PHP DOMDocument-klass för att skapa XML-filer.