2012-08-03 2 views
1

jQuery로 작업하고 싶지 않기 때문에 JavaScript에서 해결책을 찾지 못하는 것 같습니다. XML 문서에서 날짜 텍스트를 가져 오려고합니다. 다음 코드를 가지고 있지만 길이가 정의되지 않은 상태에서 읽을 수 없다는 오류가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?xml 노드 텍스트 가져 오기

var request, xmldocument, date, xmlDate; 
request = new XMLHttpRequest(); 
request.open("GET", "http://XXXXX/rss.php", true); 
request.onreadystatechange = function() { 
    if (request.readyState == 4) { 
     // xml document 
     xmldocument = request.responseXML; 
     // dates from xml document 
     date = xmldocument.getElementsByTagName("pubDate"); 
     // loop over dates 
     for (count = 0; count <= date.childNodes.length; count++) { 
      // text of date node 
      xmlDate = date.childNodes[i].nodeValue; 
      // read out text 
      console.log(xmlDate); 
     } 
    } 
} 
request.send(); 

답변

1

getElementsByTagName하지 당신에게 자식 노드로 결과를 하나 개의 요소를 노드 목록을 제공합니다. 이 일

for (count = 0; count < date.length; count++) { 
     // text of date node 
     xmlDate = date[count].childNodes[0].nodeValue; 
     // read out text 
     console.log(xmlDate); 
    } 
+0

좋은 시도하고 날짜를 표시하지만, 나는 또한 오류 "catch되지 않은 형식 오류를 : 정의되지 않은 재산 'childNodes에'를 읽을 수 없습니다"얻을 라인'xmlDate = 날짜 [카운트] .childNodes [0] .NodeValue 이렇게; ' –

+0

@ Mr.1.0 루프가 잘못 고쳐졌습니다. – Musa

관련 문제