2017-11-24 3 views
0

img가 CDATA에있을 때 AJAX RSS/XML에서 블로그 이미지를로드하는 방법?img가 CDATA에있을 때 AJAX RSS/XML에서 블로그 이미지를로드하는 방법

Google 블로그 RSS 피드에서 제목, URL, 게시 날짜 등을로드 할 수 있지만 이미지를 타겟팅하는 방법을 알 수 없습니다. 나는 this 스크립트로 시작된이를 얻기 위해이를 수정 :

$.ajax({ 
type: "GET", 
url: "http://www.example.com/blog/feed", 
dataType: "xml", 

success: function(xml) { 

    var contain = $("div#blogSection"); 
    var limit = 1; 

    $(xml).find('item').each(function(index){ 
    if(index < limit){ 

     var title = $(this).find('title').text(); 
     var url = $(this).find('link').text(); 
     var pubDate = $(this).find('pubDate').text(); 
     var img = $(this).find('content:encoded > p > img').attr('src').text(); 
     var desc = $(this).find('description > p:first').text(); 

     $('<div class="blogFeed"></div>').html('<div class="feedThumbnail"><img src="'+img+'" class="resizable" title="blog image" alt="blog image"></div><div class="feedExcerpt"><h3 class="title"><a href="'+url+'">'+title+'</a></h3><p>'+desc+'</p><p><a class="allLink" href="'+url+'" title="read more" alt="read more" target="_blank">read more</a></p></div>').appendTo(contain); 
     return; 
     } 
     });//end each 
    } 
}); 

내가이 문자 데이터로 내 모든 것을 해석하는 읽고으로 문제의 XML 내에서 CDATA에 생각합니다. 내 아약스 코드에서 무엇을 할 수

<item> 
    <title>Title</title> 
    <link>Link</link> 
    <comments>Comments</comments> 
    <pubDate>Date</pubDate> 
    <description><![CDATA[Description]]></description> 
    <content:encoded><![CDATA[<p><img src="http://www.example.com/img.jpg"...]]></content:encoded> 
</item> 

나는 CDATA 그것을 목표로하지 않는 원인이되는 올바른 생각하는 경우는, 이미지와 첫 번째 단락을 대상으로 : XML은 다음과 같이 보입니다? 내가 틀렸다면 추가/제거해야합니까?

감사합니다.

답변

0

모든 브라우저에서 작업 : 인코딩 "을 추가 :

var img = $(this).find('content\\:encoded, encoded').text(); 
img = $.parseHTML(img); 
img = img[0].firstChild.src; 

내가있는 특수 문자를 탈출 '인코딩 된 콘텐츠 :'이 가진

var img = $(this).find('content:encoded > p > img').attr('src').text(); 

:

나는이 교체 ". $ .parseHTML을 추가 한 후 console.log (img); src의 위치가 알려졌다. Return .text()가 CDATA를 제거 했으므로 이제 CDATA가 부적절하다고 생각합니다. 블로그 이미지 테스트 일. 희망은 다른 사람이 시간을 절약하는 데 도움이되기를 바랍니다.

관련 문제