Continuating the post Manipulating XML using JavaScript, now a util example of XML + JavaScript: Loading a RSS XML feed.
1) Manipulating XML using JavaScript
See my previous small tutorial about XML + JavaScript to understend the function above.
2) Making the function to read RSS data
Put the JavaScript function above in your html document or in a ".js" file (and include in your document).
function xmlMicoxRSS(xmlNode){ //by Micox: http://elmicoxcodes.blogspot.com var retorno = ""; var objNodeList = xmlNode.getElementsByTagName("item") for(var i=0;i<objNodeList.length;i++){ var strTitulo = "" var strURL = "" var strDescr = "" var objNode = objNodeList[i]; if(objNode.nodeType == 1){//ignore white spaces for(var j=0;j<objNode.childNodes.length;j++){ var objNode2 = objNode.childNodes[j]; if(objNode2.nodeType == 1){//ignore white spaces switch (objNode2.nodeName) { case "title": //alert(objNode.childNodes[j].firstChild.nodevalue); strTitulo = objNode2.firstChild.nodeValue; break; case "link": strURL = objNode2.firstChild.nodeValue; break; case "description": strDescr = objNode2.firstChild.nodeValue; break; } } } retorno += " <li><a href='" + strURL + "'>" + strTitulo + "</a><br />" + strDescr + "</li>\n"; } } retorno = "<ul>\n" + retorno + "</ul>"; return retorno; }
3) Now, put the return to your DIV
First, call the function xmlMicoxLoader (previous post) and give to div the return of function xmlMicoxRSS.
xml = xmlMicoxLoader("rss.xml"); //load xml document.getElementById(div_alvo).innerHTML = xmlMicoxRSS(xml); //list rss
Important: JavaScript just load file in your domain for security reasons.
Another example of XML + Javascript: Dynamic Graphs with Ajax and XML.
Bugs, tests and doubts, comment here :) Sorry my bad english.
Nice info..thank you for your work
ReplyDeleteI need this code to work inside a blogger page and get XML from another site.
ReplyDeleteI tried everything but I get access denied.
But blogger uses a similar way to get external feeds.
Does anybody know how does blogger do it ?
Hi zibri,
ReplyDeleteby security reasons, browsers dont give access to javascript access external domains. becouse of this, that you receive 'access denied' message.
the blogger effect uses server-side programation. In server-side programation (asp, php, jsp, etc) you will get another site.
thanks.