david96
Ensign
- Registriert
- März 2007
- Beiträge
- 218
Hio,
Dieser Code soll den Newsticker der Tagesschau parsen und die ersten 5 Einträge erstmal (wird später noch geändert) per alert ausgeben.
Das ganze hat auch funktioniert, bis ich das for(...) eingebaut habe und anstatt items[0] items reingeschrieben habe. Als es noch funktioniert hat, hat er mir aber seltsamerweise jedes alert 2 mal gegeben ... ?!
Jetzt wird gar nichts mehr angezeigt.
Danke im Vorraus für jegliche Hilfe,
David
HTML:
<html>
<head>
<title>RSS Parser Test</title>
<script type="text/javascript" language="javascript">
var http_request = false;
function doRequest(url) {
/* if(!widget.sysInfo.network.getIsNetworkAvailable()) {
document.write('Error: Network connection not available');
return false;
} */
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
} catch (e) {}
http_request = false;
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
if (!http_request) {
document.write('Error: Cannot create XMLHTTP instance');
return false;
}
http_request.open('GET', url, true);
http_request.onreadystatechange = parseFeed;
http_request.send(null);
}
function parseFeed() {
if (http_request.status == 200) {
var xmlstring = http_request.responseText;
var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
var root = xmlobject.getElementsByTagName('rss')[0];
var channels = root.getElementsByTagName("channel");
var items = channels[0].getElementsByTagName("item");
for (int i=0; i<5; i++) {
var desc = items[i].getElementsByTagName("description")[0].firstChild.nodeValue;
var head = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
var ref = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
var line = '<a href="' + ref + '">' + head + '</a>';
alert(line);
//document.write('<br>');
alert(desc);
//document.write('<br>');
}
} else {
document.write('Error: There was a problem with the request.');
return false;
}
}
</script>
</head>
<body onload="javascript:doRequest('http://www.tagesschau.de/newsticker.xml');"></body>
</html>
Das ganze hat auch funktioniert, bis ich das for(...) eingebaut habe und anstatt items[0] items reingeschrieben habe. Als es noch funktioniert hat, hat er mir aber seltsamerweise jedes alert 2 mal gegeben ... ?!
Jetzt wird gar nichts mehr angezeigt.
Danke im Vorraus für jegliche Hilfe,
David
Zuletzt bearbeitet: