class xml{ // var $content; var $xml_version; var $xml_encoding; var $data_label; var $item_label; // // /** constructor; carga algunos valores por defecto */ public function xml() { $this->content = Array(); $this->xml_version = "1.0"; $this->xml_encoding = "ISO-8859-1"; $this->data_label = "datos"; $this->item_label = "item"; } // // /** Recibe los datos a mostrar en una matriz de dos dimensiones, * y los almacena internamente */ function setContent($data = NULL) { if ($data != NULL) { $this->content = $data; } } // /** Devuelve el contenido de la matriz, eliminando los indices duplicados si se especifica *@return el contenido de la matriz */ function getContent() { return ($this->content); } // /** Muestra en cadena de texto los valores con formato xml *@return los datos en formato xml */ function toString() { $return = ""; if ($this->content != NULL) { //echo "PASO 1"; $return .= $this->header(); $return .= "<".$this->data_label.">\n"; //para cada elemento de la matriz, hay una matriz de datos con los índices del resultado mysql foreach ($this->content as $result) { $return .= "\t<".$this->item_label.">\n"; foreach( $result as $key => $value ) { $return .= "\t\t<" . $key . ">" . $value ."</" . $key . ">\n"; } $return .= "\t</".$this->item_label.">\n"; } $return .= "</".$this->data_label.">"; } return ($return); } // /** Devuelve la cabecera xml *@return la cabecera xml */ function header(){ return ("<?xml version="".$this->xml_version."\" encoding=\"".$this->xml_encoding."\"?>\n"); } } Genera_XML($_GET['sentencia']); function genera_XML($sentencia){ $results = array(); $db = mysql_connect("localhost", "root") or die("No se pudo conectar con la base de datos"); mysql_select_db("facilquiniela") or die(mysql_error()); $query = $sentencia; $resultado = mysql_query($query, $db); $i = 0; while ($row = mysql_fetch_assoc($resultado)){ $results[] = $row; } mysql_close($db); $xml = new xml(); $xml->setContent($results); //hemos obtenido los datos, ahora los mostramos en xml header('Content-Type: text/xml'); echo $xml->toString(); }