Hola yaraf...
Yo aquí en este código, guardaba unas configuracionesde unas búsquedas(almacenadas en una clase) en un archivo xml:
Código PHP:
<?php
echo "Guardando configuraciones...";
include_once("clase_configuracion.php");
session_start();
$conf = $_SESSION["conf_actual"];
$busq_tem = $_SESSION["configuraciones"];
$writer = new XMLWriter();
$writer->openURI('configuraciones.xml');
$writer->startDocument("1.0");
$writer->startElement("configuraciones");
$writer->startElement("configuracion");
$writer->startAttribute("nombre");
$writer->text($conf->nombre);
$writer->endAttribute();
$writer->startAttribute("activa");
$writer->text($conf->activa);
$writer->endAttribute();
//Primero la configuracion actual
foreach ($conf->fuentes as $tipo => $objeto) {
$writer->startElement($tipo);
foreach ($objeto as $fuente) {
$writer->startElement("fuente");
$writer->startAttribute("activa");
$writer->text($fuente->activado);
$writer->endAttribute();
$writer->text($fuente->id);
$writer->endElement();
}
$writer->endElement();
}
$writer->endElement();
//Y ahora el resto de configuraciones
foreach ($busq_tem->conf as $nombre_conf => $config) {
$writer->startElement("configuracion");
$writer->startAttribute("nombre");
$writer->text($config->nombre);
$writer->endAttribute();
$writer->startAttribute("activa");
$writer->text($config->activa);
$writer->endAttribute();
foreach ($config->fuentes as $tipo => $objeto) {
$writer->startElement($tipo);
foreach ($objeto as $fuente) {
$writer->startElement("fuente");
$writer->startAttribute("activa");
$writer->text($fuente->activado);
$writer->endAttribute();
$writer->text($fuente->id);
$writer->endElement();
}
$writer->endElement();
}
$writer->endElement();
}
$writer->endDocument();
$writer->flush();
?>
Como verás la variable $writer es la que uso para añadir elementos y atributos al xml que se llama configuraciones.xml... Con $writer->text("") añado el texto que va dentro de las etiquetas en el xml.
Espero haberte servido de ayuda.