Knowledge Base Nr: 00270 ajax7.txt - http://www.swe-kaiser.de

Ajax: Newsfeeder zyklisch auslesen und anzeigen (XML, XSLT, HTTPRequest - Auswerten mit XML-Funktionen)

  
<head>
<title>Nachrichten</title>

<script type="text/javascript"src="zxml_debug.js"></script>

<script type="text/javascript">

var sID = "newsticker";
var urlFeed = 'k_getURL.php3?url=http://www.spiegel.de/schlagzeilen/rss/0,5291,20,00.xml&ctype=text/xml';

function loadNews()
{
var oXmlHttp = zXmlHttp.createRequest();
oXmlHttp.open("get", encodeURI(urlFeed), true);

oXmlHttp.onreadystatechange = function ()
{
if (oXmlHttp.readyState == 4)
{
if (oXmlHttp.status == 200)
{
var oXmlDom = zXmlDom.createDocument();
oXmlDom.async = false;
oXmlDom.loadXML(oXmlHttp.responseText);

var oXslDom = zXmlDom.createDocument();
oXslDom.async = false;
oXslDom.load("k_newsticker.xsl");

var str = zXslt.transformToText(oXmlDom, oXslDom);
if (str == "") //falls xslt nicht funktioniert hat von hand zusammenbasteln
{
var news = oXmlDom.getElementsByTagName("item");

for (n=0; n<news.length; n++)
{
var titles = news[n].getElementsByTagName("title");
var links = news[n].getElementsByTagName("link");

str += '<a target="news" href="' + links[0].text + '">' + titles[0].text + '</a><br />\n';
}
}

var newsBox = document.getElementById(sID);
newsBox.innerHTML = str;

setTimeout(loadNews, 5*60*1000); //alle 5 minuten updaten
}
}
};
oXmlHttp.send(null);
}

window.onload = function ()
{
if (zXmlHttp.isSupported())
{
loadNews();
}
}

</script>

</head>

<body">

<h2>Spiegel-Nachrichten (News-Feed Update alle 5 Minuten)</h2>
<span id="newsticker"></span>

</body>
</html>