Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/01/2012, 06:29
revo_107
 
Fecha de Ingreso: enero-2012
Ubicación: madrid
Mensajes: 14
Antigüedad: 12 años, 3 meses
Puntos: 4
Respuesta: Pasar de XML a MySQL con PHP

Hola,
Funcionaría de la siguiente forma:

Cita:
// forma simplificada
$resultado = mysql_query('SELECT * FROM tabla');

header ('Content-type: text/xml');
echo mysql_XML($resultado);

// se puede personalizar el nombre del documento y de cada item asi:
echo mysql_XML($resultado, 'nombre del documento', 'nombre de cada item');
la funcion es la siguiente:

Cita:
/*
* Funcion para transformar un resultado de mysql en un archivo XML
**/
function mysql_XML($resultado, $nombreDoc='resultados', $nombreItem='item') {
$campo = array();

// llenamos el array de nombres de campos
for ($i=0; $i<mysql_num_fields($resultado); $i++)
$campo[$i] = mysql_field_name($resultado, $i);

// creamos el documento XML
$dom = new DOMDocument('1.0', 'UTF-8');
$doc = $dom->appendChild($dom->createElement($nombreDoc));

// recorremos el resultado
for ($i=0; $i<mysql_num_rows($resultado); $i++) {

// creamos el item
$nodo = $doc->appendChild($dom->createElement($nombreItem));

// agregamos los campos que corresponden
for ($b=0; $b<count($campo); $b++) {
$campoTexto = $nodo->appendChild($dom->createElement($campo[$b]));
$campoTexto->appendChild($dom->createTextNode(mysql_result($resultado, $i, $b)));
}
}

// retornamos el archivo XML como cadena de texto
$dom->formatOutput = true;
return $dom->saveXML();
}
Si quieren pueden descargar el archivo con la función listo para ser importado.

http://enolgames.es/modules.php?name=Downloads&d_op=getit&lid=457

Espero que te haya servido de ayuda.
Saludos!