Un bloc de notas

octubre 10, 2006

Crear un XML a partir de una consulta en MySQL utilizando hoja de estilos XSL

Filed under: Bases de Datos,Código Fuente,Lenguaje PHP,Programación — Chema @ 9:44 am

El código PHP, utilizando estilos.xls y estilos2.css:

  Código:
 

<?

/*

Hace un echo del XML resultante de tratar la consulta obtenida en
$resul.

*/

function EchoXML($resul)
{

// Creo el documento XML
$xml=new DOMDocument(“1.0″,”iso-8859-1″);
$estilo=$xml->createProcessingInstruction(‘xml-stylesheet’,’href=”estilos.xsl” type=”text/xsl”‘);
$xml->appendChild($estilo);
$raiz=$xml->createElement(“raiz”);
$raiz=$xml->appendChild($raiz);
while ($l = mysql_fetch_array($resul, MYSQL_ASSOC)) {

$linea=$xml->createElement(“linea”);
$linea=$raiz->appendChild($linea);

foreach ($l as $nomCampo => $valorCol) {

$dato=$xml->createElement(utf8_encode($nomCampo));
$dato=$linea->appendChild($dato);
$info=$xml->createTextNode(utf8_encode($valorCol));
$info=$dato->appendChild($info);

}

}

echo $xml->saveXML();
// $xml->save(“datos.xml”);

}

function EjecutarConsulta($consult)
{

// Hago una consulta
$resultado=mysql_query($consult);
if (!$resultado) {

die(“Error al ejecutar la consulta: “.mysql_error());

}
EchoXML($resultado);
// Libero el conjunto de resultados
mysql_free_result($resultado);

}

?>

<?

$conexion=mysql_connect(‘127.0.0.1′,’prueba’,’jose’);
// Selecciono la BD
mysql_select_db(‘personal’);
if ($conexion) {

$consulta=’SELECT * FROM personal p ‘;
EjecutarConsulta($consulta);
mysql_close($conexion);

} else {

die(‘<p>No se pudo conectar a la BD</p>’.mysql_error());

}

?>

Este fichero utiliza una hoja de estilos estilos2.css mostrado en la siguiente respuesta
estilos.xls:

  Código:
 

<?xml version=”1.0″?>

<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform&#8221; xmlns=”http://www.w3.org/TR/REC-html40″&gt;

<xsl:output method=”html”/>

<xsl:template match=”/”>

<xsl:apply-templates/>

</xsl:template>

<xsl:template match=”raiz”>

<HTML>

<HEAD>

<link rel=”stylesheet” href=”estilos2.css” type=”text/css” />

</HEAD>

<BODY>

<TABLE align=”center” width=”80%” class=”tabla1″ cellspacing=”4″ cellpadding=”5″>

<TR> <xsl:apply-templates/> </TR>

</TABLE>

</BODY>

</HTML>

</xsl:template>

<xsl:template match=”linea”>

<TR bgcolor=”#CCFFCC”>

<TD><xsl:value-of select=”Nombre”/></TD>
<TD><xsl:value-of select=”Apellidos”/></TD>
<TD><xsl:value-of select=”Domicilio”/></TD>

</TR>

</xsl:template>

</xsl:stylesheet>

La hoja de estilos estilos2.css:

  Código:
 

.error {

color: #FF0000;
font-weight: bold;

}

.cabecera1 {

color: #3366FF;
font-family: serif;
text-decoration: underline;
font-size: 18pt;
font-weight: bold;

}

.tabla1 {

color:#0000FF;
text-align: left;

}

th {

background-color:#FFCC00;

}

.piesencillo {

color: #FF9900;
font-size: -2;
font-decoration: none;

}

1 comentario »

  1. Como le asignas un nombre al archivo XML que se va a crear

    Comentario por Binary — mayo 7, 2008 @ 10:04 pm | Responder


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: