Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > XML > Como seria el script
-Foros de debate

XML
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Como seria el script
Enviado por legacom el día 30 de mayo de 2005

Hola que tal no tengo mucha idea de programacion,a ver si alguien me puede ayudar,tengo un archivo xml de galerias de imagenes autoactualizable y quisiera saber que hacer para mostrar las galerias,gracias de antemano y un saludo.

 
Re: Como seria el script
Enviado por legacom el día 30 de mayo de 2005

Por cierto he encontrado este codigo por hay,pero no me funciona ¿que falla?
CODIGO:
<?// fichero que alojamos en nuestro server con privilegios de escritura
$file_xml="fichero_de_galerias.xml";
// ruta a la carpeta donde alojaremos las imagenes para distinguir entre videos y videos
$path_imgs="images/";
$parser = new parser;
//$fp = $parser->getXML("http://direccion/fichero_de_galerias.php?format=XML&params=", $file_xml);
class parser {

var $insideitem = false;
var $tag = "";
var $title = "";
var $description = "";
var $link = "";

function getXML($source, $target) {
$time = time() - 21600;

if(filemtime($target) < $time) {
$fp = fopen($source, 'r');
$fd= fopen($target, 'w');
fclose($fd);
while (!feof($fp)) {
$buffer = fgets($fp, 4096);
$fd= fopen($target, 'a');
fputs($fd, $buffer);
fclose ($fd);
}

fclose($fp);
}
$this->fp = fopen($target,"r") or die("Error leyendo el XML");

return $this->fp;
}

function close() {
fclose($this->fp);
xml_parser_free($this->parser);
$this->fp = '';
$this->parser = "";
}
}




$debug = 0; # Ponerlo a 1 si queremos depurar el script
$file = $file_xml;

$currentTag = "";
$currentAttribs = "";
$inicio=true;
$enlace="";
$titulo="";
$conta_script=0;

function startElement($parser, $name, $attribs)
{
global $currentTag, $currentAttribs, $titulo, $link, $type;
$currentTag = $name;
$currentAttribs = $attribs;

// Definir el elemento HTML que corresponde con cada token del xml

switch ($name) {
case "name":
while (list ($key, $value) = each ($attribs)) {
echo("+++$key: $value\n");
}
break;
case "url":
while (list ($key, $value) = each ($attribs)) {
echo("+++$key: $value\n");
}
break;
case "type":
while (list ($key, $value) = each ($attribs)) {
echo("+++$key: $value\n");
}
break;
default:
break;
}
}

function endElement($parser, $name)
{
global $currentTag, $titulo, $link, $type;

// tags HTML de salida

/* switch ($name) {
case "name":
echo($value);
break;
case "url":
echo($value);
break;
case "type":
echo($value);
break;
default:
break;
}*/
// vaciamos las variables
$currentTag = "";
$currentAttribs = "";
}

// procesamos los datos entre tags

function characterData($parser, $data)

{
global $currentTag, $titulo, $link, $type;
// añadimos los html al valor actual
switch ($currentTag) {
case "name":
echo "<a href='";
$titulo = $data;
break;
case "url":
echo $data;
//echo "<a href='".$data."'>";
break;
case "type":
$type = $data;
// como es el ultimo parametro en ser leido escribimos los datos y vaciamos las variables
echo "'>".$titulo." <img src='".$path_imgs.$type."'></a>";//."<img src='".$path_imgs.$type."'></a>";
$titulo="";
$url="";
$type="";
break;
default:
break;
}
}



// inicializar parseador
$xmlParser = xml_parser_create();
$caseFold = xml_parser_get_option($xmlParser,
XML_OPTION_CASE_FOLDING);

$targetEncoding = xml_parser_get_option($xmlParser,
XML_OPTION_TARGET_ENCODING);

if ($debug > 0) {
echo("El depurador esta: $debug<br>\n");
echo("Case folding esta:
$caseFold<br>\n");
echo("El charset es:
$targetEncoding<br>\n");
}

// deshabilitar case folding
if ($caseFold == 1) {
xml_parser_set_option($xmlParser,
XML_OPTION_CASE_FOLDING, false);
}

// llamadas a las funciones
xml_set_element_handler(
$xmlParser, "startElement",
"endElement");

xml_set_character_data_handler($xmlParser, "characterData");


# abrir fichero XML
if (!($fp = fopen($file, "r"))) {
die("No se puede leer el archivo xml: $file");
}

# leer y parsear el xml
while ($data = fread($fp, 4096)) {
# manejador de errores
if (!xml_parse($xmlParser, $data, feof($fp))) {
die(sprintf("XML error: %s en la linea %d",
xml_error_string(xml_get_error_code($xmlParser)),
xml_get_current_line_number($xmlParser)));
xml_parser_free($xmlParser);
}
}

# librerar el parseador
xml_parser_free($xmlParser);
?>

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network