hmm... jeg har "for travlt" til at lave hele løsningen... men vil gerne give dig råd og vejledning i hvordan du strikker det sammen bedst muligt.
Nu ved jeg ikke om du vil hente nyheder fra flere ressourcer, men det smarteste er nok at hente XML'en og vidersende den som XML fra ASP -->
Response.Contenttype = "text/xml"
Javascriptet skal så ændres en smule, så man ved at man modtager et XML dokument i stedet for en string. Herved åbnes muligheden for at plukke data ud af XML dokumentet som et object ==> Super smart :-D
tag et kig på den her kode / resultat...
//--------------------------------------------------
<%
IF Request.QueryString("URL") <> "" THEN
set xmlHttp = Server.CreateObject("MSXML2.XMLHTTP")
xmlHttp.open "GET", Request.QueryString("URL") , false
xmlHttp.send()
Response.Clear()
Response.ContentType = "text/xml"
Response.Write( xmlHttp.responseText )
Response.End()
END IF
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>RSS FEED 2008</title>
<script language="javascript" type="text/javascript">
function LoadURL(action,url,postbody,delegateReturn, isXML)
{
var xmlhttp = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) { xmlhttp = false; } }
if (!xmlhttp && typeof(XMLHttpRequest) != 'undefined') {
try { xmlhttp = new XMLHttpRequest();
} catch (e) { xmlhttp = false; }
}
if (!xmlhttp && window.createRequest) {
try { xmlhttp = window.createRequest();
} catch (e) { xmlhttp = false; }
}
if ( xmlhttp )
{
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
if(isXML) delegateReturn( xmlhttp.responseXML );
else delegateReturn( xmlhttp.responseText );
}else{
alert("Error: " + xmlhttp.status + "\n\nURL: "+URL);
}
}
}
try{
xmlhttp.open(action,url, false);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
xmlhttp.send(postbody);
}catch(e){
alert("xmlhttp error: \n"+e.message);
}
}else{
alert("Your browser does not support XMLHTTP.");
}
}
function init()
{
var query = encodeURIComponent("
http://nyhederne.tv2.dk/rss/nyhederne.xml");
LoadURL("GET", "?URL=" + query, null, GetUrlHandler, true);
}
function N(x,n)
{
return x.getElementsByTagName(n);
}
function V(x,n)
{
return N(x, n)[0].childNodes[0].nodeValue;
}
function GetUrlHandler(xmlDOC)
{
var Nyheder = N(xmlDOC,"item");
var html = "";
for(var i=0, Nyhed; Nyhed = Nyheder[i]; i++)
{
var title = V(Nyhed, "title");
var description = V(Nyhed, "description");
var pubdate = V(Nyhed, "pubDate");
html += "<table style='float:left;width:200px;height:200px;'>" +
"<tr><td>" + title + "</td></tr>" +
"<tr><td style='overflow:auto;'>" + description + "</td></tr>" +
"<tr><td>" + pubdate + "</td></tr>" +
"</table>"
}
document.getElementById("printRSS").innerHTML = html;
}
</script>
</head>
<body onload="init();">
<div id="printRSS" style="width:1000px; height:100px; border:1px solid #e2e2e2;">
</div>
</body>
</html>