Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/05/2006, 01:11
Avatar de animaliens
animaliens
 
Fecha de Ingreso: mayo-2006
Ubicación: Patagonia Argentina
Mensajes: 202
Antigüedad: 18 años, 6 meses
Puntos: 1
Antes que nada, te comento que tengo muy pocos conocimientos sobre programacion. De PHP es poco lo que se.

El tema es que tengo este RSS sobre el clima de mi ciudad.

Código:
set_time_limit(0);

$file = "http://xml.weather.yahoo.com/forecastrss?p=ARRN8430&u=c";

$rss_channel = array();
$currently_writing = "http://xml.weather.yahoo.com/forecastrss?p=ARRN8430&u=c";
$main = "";
$item_counter = 0;

function startElement($parser, $name, $attrs) {
   	global $rss_channel, $currently_writing, $main;
   	switch($name) {
   		case "RSS":
   		case "RDF:RDF":
   		case "ITEMS":
   			$currently_writing = "";
   			break;
   		case "CHANNEL":
   			$main = "CHANNEL";
   			break;
   		case "IMAGE":
   			$main = "IMAGE";
   			$rss_channel["IMAGE"] = array();
   			break;
   		case "ITEM":
   			$main = "ITEMS";
   			break;
   		default:
   			$currently_writing = $name;
   			break;
   	}
}

function endElement($parser, $name) {
   	global $rss_channel, $currently_writing, $item_counter;
   	$currently_writing = "";
   	if ($name == "ITEM") {
   		$item_counter++;
   	}
}

function characterData($parser, $data) {
	global $rss_channel, $currently_writing, $main, $item_counter;
	if ($currently_writing != "") {
		switch($main) {
			case "CHANNEL":
				if (isset($rss_channel[$currently_writing])) {
					$rss_channel[$currently_writing] .= $data;
				} else {
					$rss_channel[$currently_writing] = $data;
				}
				break;
			case "IMAGE":
				if (isset($rss_channel[$main][$currently_writing])) {
					$rss_channel[$main][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$currently_writing] = $data;
				}
				break;
			case "ITEMS":
				if (isset($rss_channel[$main][$item_counter][$currently_writing])) {
					$rss_channel[$main][$item_counter][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$item_counter][$currently_writing] = $data;
				}
				break;
		}
	}
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
	die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
	if (!xml_parse($xml_parser, $data, feof($fp))) {
		die(sprintf("XML error: %s at line %d",
					xml_error_string(xml_get_error_code($xml_parser)),
					xml_get_current_line_number($xml_parser)));
	}
}
xml_parser_free($xml_parser);

// output HTML
 print ("<div class=\"channelname\">" . $rss_channel["TITLE"] . "</div>"); 

if (isset($rss_channel["ITEMS"])) {
	if (count($rss_channel["ITEMS"]) > 0) {
		for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) {
			if (isset($rss_channel["ITEMS"][$i]["LINK"])) {
			print ("\n<div class=\"itemtitle\"><a href=\"" . $rss_channel["ITEMS"][$i]["LINK"] . "\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</a></div>");
			} else {
			print ("\n<div class=\"itemtitle\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</div>");
			}
			 print ("<div class=\"itemdescription\">" . $rss_channel["ITEMS"][$i]["DESCRIPTION"] . "</div><br />"); 		}
	} else {
		print ("<b>There are no articles in this feed.</b>");
	}
}
?>
Y lo que me gustaria es mostrar solo cierta informacion en mi website con mis propios GIFS.

Por ejemplo: (Estado del tiempo)


En donde el sol por ejemplo simbolice " Dia despejado "
La T la temperatura y la H la humedad
y me gustaria hacer lo mismo con el pronostico climatico que creo que viene en el mismo Feed.

Al clikear en el estado climatico se abriria la pagina del pronostico en donde citaria la fuente como corresponde. En este caso se trata de Yahoo.

http://xml.weather.yahoo.com/forecastrss?p=ARRN8430&u=c

La recomendacion de LastRSS es muy buena pero no se como hacerlo.

Si pudieran darme una mano con el codigo se los agradeceria mucho

Saludos !!!
__________________
Visiten El Bolson en la Patagonia El Bolson
Muchas imagenes de la Patagonia y Diario Digital


Última edición por animaliens; 28/05/2006 a las 01:23