Foros del Web » Programando para Internet » Javascript »

Leer archivo XML

Estas en el tema de Leer archivo XML en el foro de Javascript en Foros del Web. Hola¡ Tengo este codigo para leer un archivo XML con la idea de cargar un lector RSS de noticias: function Replace(totalValue,oldValue,newValue) { while(totalValue.indexOf(oldValue) > -1) ...
  #1 (permalink)  
Antiguo 07/06/2009, 13:05
 
Fecha de Ingreso: enero-2009
Mensajes: 55
Antigüedad: 15 años, 3 meses
Puntos: 0
Leer archivo XML

Hola¡

Tengo este codigo para leer un archivo XML con la idea de cargar un lector RSS de noticias:

function Replace(totalValue,oldValue,newValue)
{
while(totalValue.indexOf(oldValue) > -1)
totalValue=totalValue.replace(oldValue,newValue);
return totalValue;
}

/* Get XML Node
(Parameters) TagName:'XML Element' node:'Element row number' */

function getNode(TagName, node)
{
var currentNode = (node == null) ? xmlDoc.getElementsByTagName(TagName) :
items[node].getElementsByTagName(TagName);
if(currentNode.length > 0)
return currentNode[0].firstChild.nodeValue;
}

/* Load XML Object
(Parameters) rssFeed:'RSS File' Body:'Layer for RSS Body' Title:'Layer for RSS Title' */

function ReadRSS(rssFeed, Body, Title)
{
rssTitle = document.getElementById(Title);
rssBody = document.getElementById(Body);

try
{
if (document.all)
{
var errorHappendHere = "Check Browser and security settings";
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else
{
var errorHappendHere = "Apparently one cant read remote xml via firefox, please copy the file to your server";
xmlDoc = document.implementation.createDocument("","",null) ;
}

xmlDoc.async=false;
xmlDoc.load(rssFeed);

items=xmlDoc.getElementsByTagName('item');
SetRSSTemplates();
}

catch(e)
{
rssTitle.innerHTML = 'Error occured';
rssBody.innerHTML = 'Thrown Error:'+e.message+"<br/>Note: "+errorHappendHere;
}
}

/* Set HTML Template
Did it this way to make the look and feel of the feed easy customizable, dont like mixing
layout with code. */

function SetRSSTemplates()
{
if (rssBody)
{
var buffer = "";
for(var i=0; i< items.length; i++)
{
var output = (document.all) ? Replace(rssBody.innerHTML,"(::Link::)",getNode('li nk',i))
: Replace(rssBody.innerHTML,"%28::Link::%29",getNode ('link',i));
output = Replace(output,"(::Title::)",getNode('title',i));
output = Replace(output,"(::Pubdate::)",getNode('pubDate',i ));
output = Replace(output,"(::Description::)",getNode('descri ption',i));
buffer+=output;
}
rssBody.innerHTML = buffer;
}

if (rssTitle)
{
var output = Replace(rssTitle.innerHTML,"(::Title::)",getNode(' title'));
output = (document.all) ? Replace(output,"(::Link::)",getNode('link'))
: Replace(output,"%28::Link::%29",getNode('link'));
output = Replace(output,"(::Description::)",getNode('descri ption'));
rssTitle.innerHTML = output;
}
}

Estoy teniendo un grave problema, ya que por alguna tonteria del IE me lo bloquea con la tipica ventanita amarilla de conceder permiso para ejecutar codigo script o ActiveX, esto me pasaba en local pero no me imaginaba que en el servidor me lo iva a bloquear igual.Para poder ejecutarlo tengo que agregar el sito web a sitios web de confianza.

Alguien le ha ocurrido algo parecido alguna vez, que solucion aplico para solucionarlo?¿

Un saludo ¡¡
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 13:47.