Foros del Web » Programando para Internet » PHP »

No genera el xml

Estas en el tema de No genera el xml en el foro de PHP en Foros del Web. Me estoy voliviendo loco y es sin duda por desconocimiento del xml El caso es que necesito generar un xml cada vez que el usuario ...
  #1 (permalink)  
Antiguo 24/10/2011, 06:17
Avatar de intergus  
Fecha de Ingreso: mayo-2007
Mensajes: 126
Antigüedad: 16 años, 10 meses
Puntos: 3
No genera el xml

Me estoy voliviendo loco y es sin duda por desconocimiento del xml

El caso es que necesito generar un xml cada vez que el usuario cambia un marcador de sitio en un google map

Toda la parte del ajax está solucionado pues de hecho, imprimo los nuevos datos a la derecha del mapa.

En el mismo fichero que lee el ajax para extraer los datos de BD, quiero aprovechar para generar un xml, con el que luego pintar los marcadores en el mapa y poder incluso hacer más cosas.

Bueno, esto era para situaros, el caso es que el codigo no genera el xml y tampoco se como darle un nombre, pues se debería generar un fichero físico ¿no?

Si podeis ayudarme a ver la luz...

<?
header("Content-type:text/xml");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">

<?
include("variables.php");
$lat = $_GET['lt'];

// empieza el fichero XML
$dom = new DOMDocument('1.0', 'utf-8');
$root = $dom->createElement("markers");

conectar(); // conecta con la base de datos y lo hace bien
$sql = "SELECT * from tabla where latitud = " . $lat;
$consulta=mysql_query($sql);

WHILE ($fila=mysql_fetch_array($consulta)){

// ADD TO XML DOCUMENT NODE
$marker = $dom->createElement("marker");

$lugar = $dom->createElement('lugar');
$lugar_texto = $dom->createTextNode($fila->lugar);
$lugar->appendChild($lugar_texto);

$latitud = $dom->createElement('latitud');
$latitud_texto = $dom->createTextNode($fila->latitud);
$latitud->appendChild($latitud_texto);

$longitud = $dom->createElement('longitud');
$longitud_texto = $dom->createTextNode($fila->longitud);
$longitud->appendChild($longitud_texto);

$id = $dom->createElement('id');
$id_texto = $dom->createTextNode($fila->id);
$id->appendChild($id_texto);

$marker->appendChild($lugar);
$marker->appendChild($latitud);
$marker->appendChild($longitud);
$marker->appendChild($id);

$root->appendChild($marker);

}
$dom->appendChild($root);
echo $dom->saveXML();
?>
  #2 (permalink)  
Antiguo 24/10/2011, 11:58
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 8 meses
Puntos: 793
Respuesta: No genera el xml

Código PHP:
Ver original
  1. echo $dom->saveXML();

Esa línea lo que hace es imprimir el string del contenido XML que generaste previamente. Para crear el archivo puedes usar cualquier función para escribir en archivos de texto. ¿Qué problemas tienes? ¿Errores?
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 25/10/2011, 05:07
Avatar de intergus  
Fecha de Ingreso: mayo-2007
Mensajes: 126
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: No genera el xml

He quitado esa linea y le he puesto para que guarde y lo guarda bien pero con el echo da error y manteniendo las 2 lineas, da el error pero al mismo tiempo lo guarda bien.

Etiquetas: html, sql, tabla, xml, variables, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:47.