Costruire documenti XML con PHP

Sommario
Prima di addentrarci nella parte tecnica di come creare questi documenti, dobbiamo prima capire che cos'è un file. XML, e quali sono le sue reali e attuali applicazioni, in questo modo potremo apprezzare molto di più le conoscenze che possiamo acquisire in questa sezione.
Che cos'è un file XML?Sicuramente molti di voi sanno già che si tratta di un file XMLTuttavia, per chi non lo conosce o è la prima volta che vede questo termine, spiegheremo un po' il suo concetto. XML è un linguaggio di markup e tagging molto simile a HTML che ci permette di organizzare il contenuto in un documento. È composto da etichette ed entità e dobbiamo seguire diverse regole durante la sua generazione.
Penserete sicuramente che sto descrivendo il HTML inoltre, e perché non usiamo quest'ultimo invece di creare un nuovo linguaggio, perché semplicemente perché il XML è più rigoroso e più personalizzabile, motivo per cui è molto più flessibile da usare e più facile da capire. Le etichette su HTML sono già definiti nel tuo standard, invece a XML le etichette sono create da noi secondo le regole della lingua.
All'inizio del tutorial abbiamo menzionato una delle applicazioni più conosciute del XML ed è organizzare il contenuto in modo che possa essere consumato dalle applicazioni, questo è ciò che è fondamentalmente richiesto. Quando si organizza un documento XML possiamo fare quello che si chiama a analizzare, che non è altro che leggere il file e se segue lo standard saremo in grado di sapere qual è la sua struttura e quindi elaborare detto contenuto all'interno del nostro programma.
In un contesto reale, il XML può essere utilizzato per trasmettere dati tramite a servizio web o per ripristinare e importare i dati in a Banca dati. Come possiamo vedere, è un formato di portabilità, cioè per trasportare dati da una piattaforma all'altra. Funziona anche all'interno della stessa piattaforma, ad esempio un file di configurazione in cui ogni etichetta corrisponde a parametri che la nostra applicazione legge per generare un comportamento adeguato.
Anche se negli ultimi due anni il format JSON ha guadagnato molta popolarità negli ambienti web e probabilmente sta guadagnando popolarità nel corso del XML, in realtà non è così poiché ognuno ha il suo spazio, il vantaggio di JSON è che è nativo in Javascript e con i nuovi modi di lavorare con questa lingua, la conversione è praticamente inutile.
Tuttavia in altri ambienti come applicazioni desktop, lingue server diverse da Javascript e applicazioni che sono sul mercato da molto tempo, XML è un'opzione valida e ampiamente utilizzata.
Come sempre tutto dipende dalle nostre esigenze, possiamo dire che nessuno dei due JSON nessuno dei due XML sono cattivi, ognuno ha semplicemente il suo scopo e il suo scopo, quindi se vogliamo usare XML e qualcuno ci dice che siamo superati, sappi solo che per le nostre esigenze è del tutto valido.
Come abbiamo già spiegato un file XML E' composto da tag, ma per essere interpretato correttamente deve avere un titolo e poi iniziare dal contenuto. L'intestazione è conosciuta come DTD o Definizione del tipo di documento, che potrebbe essere tradotto come definizione del tipo del documento e quindi il contenuto è il schema o schema in spagnolo.
Cosa fa il DTD?Il DTD è colui che darà le informazioni al analizzatore su che tipo di XML è e all'interno del schema È dove andrà il contenuto che abbiamo creato per il nostro documento.
Nell'immagine seguente vedremo come appare un documento di test che abbiamo nel nostro ambiente di sviluppo dell'applicazione:

Abbiamo notato che il XML non è altro che testo, quindi possiamo eseguire semplici routine all'interno della nostra applicazione in PHP per generare il contenuto corrispondente a un file XML, tuttavia se vediamo l'intestazione del file XML ha gli stessi tag dei tag di apertura della lingua, ovvero quindi se facciamo un buttato fuori semplice contenuto del XML avremo un errore di sintassi.
Possiamo correggerlo facilmente usando a intestazione e cambiando il Tipo MIME per testo / xml questo farà l'interprete PHP non considerare più l'intestazione del nostro contenuto come un errore XML che stiamo generando. Vediamo di seguito il codice che andremo ad utilizzare per creare il nostro piccolo esempio:
 "Fight Club", 'author' => "Chuck Palahniuk"), array ('title' => "World War Z", 'author' => "Max Brooks",)); foreach ($ libri come $ libro) {echo "\ n"; echo "{$ libro ['titolo']} \ n"; echo "{$ libro ['autore']} \ n"; echo "\ n \ n"; }?> var13 -> 

Vediamo qui come la prima cosa che facciamo è generare l'intestazione del documento con il intestazione, questo ci permetterà di posizionare il tag di inizio del nostro XML senza generare errori di sintassi in PHP, quindi mettiamo fuori dal codice il nostro tag radice del schema, in questo caso libreria.
Successivamente, creiamo un piccolo array con diversi elementi che abbiamo chiamato libri, la cosa importante qui anche se è qualcosa di manuale è che possiamo vedere che potremmo farlo con un risultato di Banca dati ad esempio. Infine, esaminiamo la nostra matrice e stampiamo, rispettando sempre le etichette in modo che il nostro XML è ben formato.
Alla fine, quando eseguiamo questo sul nostro server di test, otterremo qualcosa di simile al seguente nel browser:

INGRANDIRE

Miglioramento dell'elaborazioneSebbene quanto sopra funzioni abbastanza bene ed è molto utile, è troppo soggetto a errori, quindi per il nostro aiuto abbiamo diverse librerie che ci permettono di creare documenti XML dalle definizioni più comuni della lingua, per questo abbiamo la libreria SOLE e la libreria SimpleXML, entrambi ci permettono di generare documenti XML oltre a fare il analizzare della stessa.
Nell'esempio seguente prenderemo un file XML cioè nella nostra directory, per semplificare le cose possiamo salvare il documento che è stato generato nell'esempio precedente e lo chiameremo php_crear_xml.xml, tenendo conto che modificando l'estensione non potremo più utilizzare PHP per stampare l'intestazione, un modo semplice per vedere il XML pieno è premere CTRL + u e avremo lo stesso. Una volta che abbiamo il nostro file di test, useremo il seguente codice per fare il analizzare dal file.
caricamento ("esempio1.xml"); process ($ parser-> documentElement); process process ($ node) {foreach ($ node-> childNodes as $ child) {if ($ child-> nodeType == XML_TEXT_NODE) ​​{echo "

". $ figlio-> nodeValue."

";} else if ($ child-> nodeType == XML_ELEMENT_NODE) ​​{process ($ child);}}}?> var13 ->

Nel codice vediamo che abbiamo creato un oggetto del tipo DOMDocumento, questo ci porterà in libreria SOLE saper interpretare il XML, quindi con il metodo caricare () carichiamo il file XML che abbiamo nel nostro percorso e quindi chiamiamo la funzione processi() questo è quello che ci permetterà di passare attraverso il documento caricato.
Infine definiamo la nostra funzione, qui passiamo attraverso ogni nodo e poi facciamo un condizionale se è un elemento XML Chiamiamo la funzione, altrimenti se è testo lo stampiamo, con questo possiamo ottenere il contenuto di XML Nessun problema.
L'unico difetto di questo metodo e di questa libreria è la quantità di memoria richiesta sul server, quindi se fosse un file di grandi dimensioni XML sarebbe molto difficile per il nostro server elaborarlo.

Abbiamo anche la biblioteca SimpleXML essere in grado di creare ed elaborare i file XML, il suo uso è qualcosa di simile alla libreria SOLETuttavia, è più limitato in termini di applicazione e di maggiore complessità, sebbene questo sia un po' più grande, quindi il nostro codice potrebbe essere più complesso.
La cosa interessante di questa libreria è che un oggetto viene creato con il nostro XML con cui possiamo accedere direttamente alle loro proprietà e quindi lavorare con loro. Vediamo nel codice seguente come possiamo accedere alle etichette qualificazione di ogni libro che abbiamo nella nostra XML di test.
libro come $ libro) {echo $ libro-> titolo. "
";}?> var13 ->

Sebbene il codice possa sembrare un po' corto, ciò che facciamo è creare un oggetto dal file caricato e possiamo eseguire un ciclo con a per ciascuno ciascuno dei suoi nodi e quindi accedere al contenuto della sua etichetta in modo semplice. Con il quale otterremmo quanto segue nel browser:

Con questo concludiamo questo tutorial, abbiamo creato con successo un file XML e abbiamo imparato due modi diversi per essere in grado di leggere questi file, è importante esercitarsi con file più complessi in modo da essere pronti e in grado di applicare le nostre conoscenze in un'applicazione della vita reale.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave