2011-10-20 3 views
0

XML 피드를 가져 오거나 구문 분석하여 내용을 HTML로 반환하는 JS 스크립트를 구현합니다. 아쉽게도 div 태그 사이의 텍스트 (피드!)는 페이지에 나타나지 않으므로 그렇게하지 않는 것 같습니다. 그런 다음 몸div 내의 자바 스크립트 피드 리더

<body onload ="loadRSSFeed('feeddisplay');"> 
    <h1>All the news that's fit to render</h1> 
    <div id="feeddisplay">Feed!</div> 
</body> 

를 호출 을하지만 표시되지 않습니다 :

function loadRSSFeed(param){ 
    var xmlhttp = new XMLHttpRequest(); 
    xmlhttp.open("GET",'http://feeds.feedburner.com/engadget/Dnjv',false); 
    xmlhttp.send(); 
    xmlDoc = xmlhttp.responseXML; 
    var strBuffer= ""; 
    strBuffer = strBuffer +"<table border='1'>"; 
    var x=xmlDoc.getElementsByTagName("item"); 
    for (i=0;i<x.length;i++){ 
     strBuffer = strBuffer +"<tr><td><a href='"; 
     strBuffer = strBuffer +(x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue); 
     strBuffer = strBuffer +"'>"; 
     strBuffer = strBuffer +(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue); 
     strBuffer = strBuffer +"</a></td></tr><tr><td>"; 
     strBuffer = strBuffer +(x[i].getElementsByTagName("description")[0].childNodes[0].nodeValue.substring(0,180)); 
     strBuffer = strBuffer + "<a href='"; 
     strBuffer = strBuffer +(x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue); 
     strBuffer = strBuffer +"'>... Read More...</a>"; 
     strBuffer = strBuffer +"</td></tr>"; 
     if(i==10){ 
      break; 
     } 
    } 
    strBuffer = strBuffer +"</table>"; 
    document.getElementById(param).innerHTML =strBuffer; 
} 

그것은 그렇게 (성공적으로)처럼 가져! 페이지의 나머지 부분은 다음과 같을 것입니다.

생각 하시겠습니까?

답변

1

구글 피드 리더 API는 더 강력하고

http://code.google.com/apis/feed/v1/

이 또한 내가에 onLoad이 사업부를 찾을 수 없습니다 생각 RSS 처리 할 수있는 몇 가지 더 많은 기능을 가지고 있습니다 ...? div 피드가로드 된 후 스크립트 실행을 시도 했습니까? 단지 2 센트입니다.

+0

훨씬 더 유용합니다. 감사! – Chris

2

XMLHttp * 이 아니어야합니까? *을 요청 하시겠습니까?

+0

+1 - 그립습니다. 내 대답은 이제 쓸모가 없다. –

+0

예! 그리고 그것은 얻지 말았어야했는데, 여전히 아무것도 보이지 않았습니다. – Chris