2009-01-27 37 views
24

Bất cứ khi nào tôi nhìn thấy hình ảnh trong nguồn cấp dữ liệu RSS, chúng được nhúng trong CDATA, thay vì được bao quanh bởi thẻ.Hình ảnh trong nguồn cấp dữ liệu RSS

Trong nguồn cấp dữ liệu của tôi, tôi muốn các hình ảnh hiển thị mà không cần làm điều đó.

Cho dù trong trình duyệt hoặc trình đọc nguồn cấp dữ liệu (Bloglines) hoặc thông qua FeedBurner, cấu trúc sau không hiển thị hình ảnh, mặc dù đó là RSS hợp lệ. Có ai có kinh nghiệm với điều này?

<item> 
<category>Viewbook</category> 
<title>Widget</title> 
<description>Learn more about our widgets.</description> 
<link>http://www.widget.com/Default.aspx</link> 
<image> 
<url>http://www.widget.com/images/thumb.gif</url> 
<title>Widget</title> 
<link>http://www.widget.com/Default.aspx</link> 
<description>Learn more about our widgets.</description> 
</image> 
</item> 

Trả lời

15

On gợi ý Colonol Sponsz', tôi nghiên cứu:

Không có thẻ hình ảnh cho các hạng mục, chỉ cho kênh. Vì vậy, bạn để thực hiện điều đó thông qua thẻ CDATA.

+0

Ngoài ra, hãy kiểm tra phần mở rộng đặc tả Media RSS với RSS: http://video.search.yahoo.com/mrss – danmactough

+0

Tùy thuộc vào những gì bạn cần, có. Xem câu trả lời của tôi bên dưới: https://stackoverflow.com/a/45870352/241244 –

+0

Có thẻ bao vây. – ram4nd

-1

Nó hoạt động với một thẻ riêng biệt, như bạn đã nói. Vấn đề là đặc điểm kỹ thuật của phiên bản 2.0.

Tôi biết, có trình đọc nguồn cấp dữ liệu không hỗ trợ hình ảnh vì lý do băng thông.

Nguồn: RSS specification 2.0 qua Wikipedia

+2

Điều đó chỉ cung cấp cho bạn một hình ảnh cho nguồn cấp dữ liệu, như biểu tượng - đó là con của không phải . –

+0

Do đó, không có hình ảnh trong các mục qua thẻ hình ảnh. – guerda

11

Để hoàn thành: Trong RSS 2.0, bạn CÓ THỂ có một bao vây đơn bên trong một mục, theo thông số kỹ thuật. có thể cho một hình ảnh duy nhất. Tuy nhiên tôi hiểu rằng sự hỗ trợ giữa các tập hợp nguồn cấp dữ liệu thay đổi. Thông thường, điều này được sử dụng cho những thứ như podcast. Các tiêu chuẩn RSS 2.0 trạng thái:

<enclosure> is an optional sub-element of <item>. 

Nó có ba thuộc tính cần thiết. url cho biết vị trí bao vây nằm ở đâu, độ dài cho biết nó có dung lượng lớn như thế nào trong byte và loại cho biết loại của nó là loại MIME tiêu chuẩn. Url phải là url http.

Lưu ý rằng bạn phải bao gồm kích thước của mục, cùng với URL và loại mime.

Tuy nhiên, như những người khác đã nêu, bao gồm (các) ảnh trong CDATA phổ biến hơn nhiều.

4

Tôi tin rằng bạn có thể sử dụng <media:content ....> mục có hỗ trợ tốt bởi hầu hết người đọc rss, nó hoạt động hoàn hảo cho chúng tôi trên mailchimp (rss để gửi bản tin qua email).

Xem http://kb.mailchimp.com/article/how-can-i-format-the-image-content-in-my-rss-to-email-campaigns

EDIT: Dưới đây là một liên kết trực tiếp: https://blog.mailchimp.com/rss-to-email-enhancement-for-publishers/

+0

Rất tiếc, liên kết này không còn hiệu lực tại MailChimp – Berto

+0

Liên kết của bạn không khả dụng. –

+0

Liên kết hiện hoạt động. –

1

Bạn có thể sử dụng các yếu tố media:content (spec) trong vòng item.

Đảm bảo bạn khai báo vùng tên MRSS (Media RSS) (thuộc tính xmlns:media, bên dưới) cho phần tử này, nếu nó không được khai báo cho toàn bộ nguồn cấp dữ liệu RSS, vì nó sẽ không xác thực khác. (Ví dụ: out-of-the-box WordPress.)

<media:content 
    xmlns:media="http://search.yahoo.com/mrss/" 
    url="http://www.widget.com/images/thumb.gif" 
    medium="image" 
    type="image/jpeg" 
    width="150" 
    height="150" /> 

Điều này có thể hoặc không thể hiển thị như bạn muốn; bạn phải thử nghiệm. Nhúng nội dung theo cách đó đơn giản hơn, mặc dù tuyến đường này giúp với những thứ như MailChimp integration (h/t this answer) hoặc các giải pháp tùy chỉnh khác.

Triển khai ví dụ for WordPress is in my answer here.

Các vấn đề liên quan