Xml come base dati è quanto di più deleterio possa esistere.
La motivazione principale è l'occupazione di memoria e cicli-processore necessaria per elaborare i dati.
Ai tempi in cui dovevo usarlo (con altro linguaggio, non con php ma il concetto cambia poco) per elaborare un mega di xml servivano 10 mb di ram...
Detto questo, xml viene usato costantemente con linguaggi/librerie come xajax/ajax (vedi wikipedia) per la costruzione dinamica del contenuto html di una pagina web.
A livello invece di indipendenza dei dati da una struttura rigida, caratteristica peculiare del concetto dietro xml, è una mezza "bufala", nel senso che sì, puoi rappresentare i dati come ti pare senza un vincolo stretto, ma ovviamente il "ricevente" deve capirli in base al tuo formato. In aiuto vengono gli altri costrutti a corollario di xml (XSD, XSL e XSLT, XQuery, DOM eccetera) ma si finisce poi a costruire un testo che per essere capito da altri necessita di altro testo eccetera...vabbeh discorso lungo.
L'uso di Xml nel caso del php, come consiglio spassionato, limitalo al massimo e se proprio devi, appoggiati a librerie di parsing già pronte.
Se hai bisogno di altre spiegazioni o chiarimenti, chiedi, vedrò di essere più chiaro possibile
![]()