Para crear un documento XML en PHP, debe instanciar una clase DOMDocument, crear nodos secundarios y agregar estos nodos en la rama correcta del árbol de documentos.
Como referencia, puede leer http://it.php.net/manual/en/book.dom.php
Ahora haremos un recorrido rápido por el código a continuación.
- en la línea 2 creamos un documento xml vacío (solo especifique la versión xml (1.0) y la codificación (utf8))
- ahora necesitamos poblar el árbol xml:
- Tenemos que crear un xmlnode (línea 5)
- y tenemos que agregar esto en la posición correcta. Estamos creando la raíz, por lo que agregamos esto directamente al documento de dominio.
- Tenga en cuenta que crear elemento agrega el elemento al nodo y devuelve el nodo insertado, guardamos esta referencia para agregar los nodos de seguimiento al nodo raíz (incidentalmente llamado xml).
Estos son los conceptos básicos, puede crear y agregar un nodo en solo una línea (13, por ejemplo), puede hacer muchas otras cosas con la api dom. Es tu decision.
<?php
/* create a dom document with encoding utf8 */
$domtree = new DOMDocument('1.0', 'UTF-8');
/* create the root element of the xml tree */
$xmlRoot = $domtree->createElement("xml");
/* append it to the document created */
$xmlRoot = $domtree->appendChild($xmlRoot);
$currentTrack = $domtree->createElement("track");
$currentTrack = $xmlRoot->appendChild($currentTrack);
/* you should enclose the following two lines in a cicle */
$currentTrack->appendChild($domtree->createElement('path','song1.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song1.mp3'));
$currentTrack->appendChild($domtree->createElement('path','song2.mp3'));
$currentTrack->appendChild($domtree->createElement('title','title of song2.mp3'));
/* get the xml printed */
echo $domtree->saveXML();
?>
Editar: solo una pista más: la principal ventaja de usar un documento xml (el documento dom o el simplexml) en lugar de imprimir el xml, es que el xmltree se puede buscar con la consulta xpath