Comunidad de diseño web y desarrollo en internet online

Generando XML desde PHP y MySQL

Citar            
MensajeEscrito el 16 Sep 2013 03:06 pm
Hola amigos de PHP, estoy generando un XML a partir de una consulta MySQL, y tengo dos problemas, a saber:

1) Si escribo $xml = new DomDocument('1.0', 'ISO-8859-1'); me produce el error output conversion failed due to conv error, bytes 0xCD 0x41 0x20 0x49 in.....
2) Si escribo $xml = new DomDocument('1.0', 'UTF-8'); lo genera, solo que lo veo todo de corrido, y no con los nodos indentados, como se suele ver un XML.

Les agradeceré cualquier ayuda que me puedan brindar, estoy parado con esto. Gracias! :D

Por grodrig61

Claber

223 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Sep 2013 08:22 pm
saludos, te comento que en una ocasión me pidieron generar XML en php con una base de datos en MySql el archivo que me ayuda a generar los XML es este:

Código PHP :

<?php
 
header("Content-type: text/xml");
 
$host = "localhost"; 
$user = "usuario"; 
$pass = "contraseña"; 
$database = "prueba";
 
$enlace = mysql_connect($host, $user, $pass) or die("Error MySQL."); 
mysql_select_db($database, $enlace) or die("Error base de datos.");
 
$query = "SELECT * FROM tablaEjemplo ORDER BY id ASC"; 
$resultado = mysql_query($query, $enlace) or die("Sin resultados.");
 
$salida_xml = "<?xml version=\"1.0\"?>\n"; 
$salida_xml .= "<informacion>\n";
 
for($x = 0 ; $x < mysql_num_rows($resultado) ; $x++){ 
    $fila = mysql_fetch_assoc($resultado); 
    $salida_xml .= "\t<persona>\n"; 
    $salida_xml .= "\t\t<nombre>" . $fila['nombre'] . "</nombre>\n"; 
    $salida_xml .= "\t\t<email>" . $fila['email'] . "</email>\n"; 
        // Corregiendo caracteres incorrectos
        $fila['texto'] = str_replace("&", "&amp;", $fila['texto']); 
        $fila['texto'] = str_replace("<", "&lt;", $fila['texto']); 
        $fila['texto'] = str_replace(">", "&gt;", $fila['texto']); 
    $salida_xml .= "\t\t<texto>" . $fila['texto'] . "</texto>\n"; 
    $salida_xml .= "\t</persona>\n"; 
}
 
$salida_xml .= "</informacion>";
 
echo $salida_xml;
 
?>


el código anterior te lo muestra en pantalla y si agregas este código te creara un archivo XML por cada fila de la base de datos

Código PHP :

$fh = fopen("nombre_xml". ".xml","w"); 
fwrite($fh,$salida_xml);
fclose($fh);
$cues = $cues + 1;


espero que te sirva de algo!!

Por mario22121985

88 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Sep 2013 11:45 am
Claro que sirve, y mucho! Muchísimas gracias!

Por grodrig61

Claber

223 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.