Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/01/2011, 20:35
Avatar de pacmanaman
pacmanaman
 
Fecha de Ingreso: marzo-2009
Mensajes: 84
Antigüedad: 15 años, 1 mes
Puntos: 3
Respuesta: Cerrar nodos de un XML con PHP y MySQL

Código PHP:
Ver original
  1. <?php
  2. /*
  3.  * Funcion para transformar un resultado de mysql en un archivo XML
  4.  **/
  5. function mysql_XML($resultado, $nombreDoc='tbl_usuarios', $nombreItem='usuario') {
  6.    $campo = array();
  7.    
  8.    // llenamos el array de nombres de campos
  9.    for ($i=0; $i<mysql_num_fields($resultado); $i++)
  10.       $campo[$i] = mysql_field_name($resultado, $i);
  11.    
  12.    // creamos el documento XML    
  13.    $dom = new DOMDocument('1.0', 'UTF-8');
  14.    $doc = $dom->appendChild($dom->createElement($nombreDoc));
  15.    
  16.    // recorremos el resultado
  17.    for ($i=0; $i<mysql_num_rows($resultado); $i++) {
  18.        
  19.       // creamos el item
  20.       $nodo = $doc->appendChild($dom->createElement($nombreItem));
  21.        
  22.       // agregamos los campos que corresponden
  23.       for ($b=0; $b<count($campo); $b++) {
  24.          $campoTexto = $nodo->appendChild($dom->createElement($campo[$b]));
  25.          $campoTexto->appendChild($dom->createTextNode(mysql_result($resultado, $i, $b)));
  26.       }
  27.    }
  28.    
  29.    // retornamos el archivo XML como cadena de texto
  30.    $dom->formatOutput = true;  
  31.    return $dom->saveXML();    
  32.  }
  33.  
  34. $con = mysql_connect("server","user","pass");
  35. mysql_select_db("BASE",$con);
  36. $resultado = mysql_query('SELECT * FROM usuarios');
  37. header ('Content-type: text/xml');
  38. echo mysql_XML($resultado);  
  39. ?>
Fuente: http://www.cristalab.com/tutoriales/...n-php-c68404l/
__________________
(<++