Tutorial XML PHP: creazione, analisi, lettura con esempio

Sommario:

Anonim

Cos'è l'XML?

XML è l'acronimo di Extensible Markup Language.

XML viene utilizzato per strutturare, archiviare e trasportare i dati da un sistema all'altro.

XML è simile all'HTML.

Utilizza tag di apertura e chiusura.

A differenza dell'HTML, l'XML consente agli utenti di definire i propri tag.

In questo tutorial imparerai-

  • Cos'è DOM?
  • Parser XML
  • Perché utilizzare XML?
  • Esempio di documento XML
  • Come leggere XML usando PHP
  • Come creare un documento XML utilizzando PHP

Cos'è DOM?

DOM è l'acronimo di Document Object Model.

È uno standard multipiattaforma e indipendente dal linguaggio che definisce come accedere e manipolare i dati in;

  • HTML
  • XHTML
  • XML

DOM XML viene utilizzato per accedere e manipolare i documenti XML. Visualizza il documento XML come una struttura ad albero.

Parser XML

Un parser XML è un programma che traduce il documento XML in un oggetto DOM (Document Object Model) XML.

L'oggetto DOM XML può quindi essere manipolato utilizzando JavaScript, Python e PHP ecc.

La parola chiave CDATA, acronimo di (Unparsed) Character Data, viene utilizzata per ignorare i caratteri speciali come "<,>" durante l'analisi di un documento XML.

Perché utilizzare XML?

  • I servizi Web come SOAP e REST utilizzano il formato XML per lo scambio di informazioni. Imparare cos'è XML e come funziona ti darà un vantaggio competitivo come sviluppatore poiché le applicazioni moderne fanno un uso massiccio dei servizi web.
  • I documenti XML possono essere utilizzati per memorizzare le impostazioni di configurazione di un'applicazione
  • Ti consente di creare i tuoi tag personalizzati che lo rendono più flessibile.

Esempio di documento XML

Supponiamo che tu stia sviluppando un'applicazione che ottiene dati da un servizio web in formato XML.

Di seguito è riportato un esempio di come appare il documento XML.

Joe Paul
CEOTasha Smith
Finance Manager

QUI,

  • "" Specifica la versione xml da utilizzare e la codifica
  • "" è l'elemento radice.
  • " ... " sono gli elementi secondari rispettivamente di amministrazione e vendita.

Come leggere XML usando PHP

Scriviamo ora il codice che leggerà il documento XML dei dipendenti e visualizzeremo i risultati in 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 . '

';}?>

QUI,

  • "$ Xml = simplexml_load_file ('dipendenti.xml');" utilizza la funzione simplexml_load_file per caricare il nome file dipendenti.xml e assegnare il contenuto alla variabile array $ xml.
  • "$ List = $ xml-> record;" ottiene il contenuto del nodo del record.
  • "For ($ i = 0; $ i
  • "$ List [$ i] -> attributes () -> man_no;" legge l'attributo man_no dell'elemento
  • "$ List [$ i] -> name;" legge il valore dell'elemento figlio name
  • "$ List [$ i] -> position;" legge il valore dell'elemento figlio position

Testare la nostra applicazione

Supponendo che tu abbia salvato il file index.php nella cartella phptus / xml, vai all'URL http: //localhost/phptuts/xml/index.php

Come creare un documento XML utilizzando PHP

Vedremo ora come creare un documento XML usando PHP.

Useremo l'esempio sopra nel diagramma ad albero DOM.

Il codice seguente utilizza il PHP integrato nella classe DOMDocument per creare un documento 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";?>

QUI,

  • "$ Dom = new DOMDocument ();" crea un'istanza della classe DOMDocument.
  • "$ Dom-> encoding = 'utf-8';" imposta la codifica del documento su utf-8
  • "$ Dom-> xmlVersion = '1.0';" specifica il numero di versione 1.0
  • "$ Dom-> formatOutput = true;" assicura che l'output sia ben formattato
  • "$ Root = $ dom-> createElement ('Movies');" crea il nodo radice denominato Movies
  • "$ Attr_movie_id = new DOMAttr ('movie_id', '5467');" definisce l'attributo movie id del nodo Movies
  • "$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" crea il nodo figlio del nodo Movies. ElementName specifica il nome dell'elemento, ad esempio Title. ElementValue imposta il valore del nodo figlio, ad esempio The Campaign.
  • "$ Root-> appendChild ($ movie_node);" aggiunge gli elementi movie_node al nodo radice Movies
  • "$ Dom-> appendChild ($ root);" aggiunge il nodo radice al documento XML.
  • "$ Dom-> save ($ xml_file_name);" salva il file XML nella directory principale del server web.
  • "Echo ''. $ xml_file_name. " è stato creato con successo"; " crea il collegamento al file XML.

Testare la nostra applicazione

Supponendo che tu abbia salvato il file create_movies_list nella cartella phptuts / xml, vai all'URL http: //localhost/phptuts/xml/create_movies_list.php

Fare clic sul collegamento movies_list_xml

Sommario

  • XML è l'acronimo di Extensible Markup Language
  • XML può essere utilizzato per lo scambio di informazioni tra i sistemi o per memorizzare le impostazioni di configurazione di un'applicazione, ecc.
  • DOM è l'acronimo di Document Object Model. XML DOM visualizza il documento XML come una struttura ad albero
  • Un XML Parser è un programma che traduce XML un documento XML in una struttura ad albero DOM come un documento.
  • CDATA viene utilizzato per ignorare i caratteri speciali durante l'analisi dei documenti XML.
  • PHP utilizza simplexml_load_file per leggere documenti XML e restituire i risultati come un array numerico
  • PHP DOMDocument classe per creare file XML.