2009-11-08 14 views
33

Tôi có cảm giác, trong mọi tệp RSS.xml, cả pubDate và đối sánh lastBuildDate.Sự khác biệt giữa <pubDate> và <lastBuildDate> trong RSS là gì?

Tôi chắc chắn rằng điều này, không phải lúc nào cũng đúng ...

Vì vậy, trước hết, sự khác biệt giữa hai yếu tố trên là gì?

Thứ hai, trình đọc RSS, sắp xếp nội dung theo Ngày, dựa trên pubDate hoặc lastBuildDate?

+1

Câu trả lời được chấp nhận không đúng. Xem câu trả lời của tôi thấp hơn hoặc thông số kỹ thuật RSS 2.0. – Vlasec

Trả lời

26

pubDate:

Ngày công bố ban đầu cho các kênh hoặc mục. (Không bắt buộc)

lastBuildDate:

Thời gian gần đây hầu hết các nội dung của kênh đã được sửa đổi. (tùy chọn)


Dưới đây là một số tài liệu cho số optional items in the RSS 2.0 spec.

+3

Một sửa lỗi: 'lastBuildDate' chỉ áp dụng cho kênh, trong khi' pubDate' có thể áp dụng cho cả hai. Điều đó trong chính nó là một sự khác biệt quan trọng giữa hai thuộc tính. – mahemoff

4

lastBuildDate chỉ định ngày/giờ cuối cùng mục nhập đã được sửa đổi. pubDate chỉ định ngày/giờ xuất bản thực tế.

Lý do bạn thấy những điều này nói chung giống nhau là bởi vì khi bạn nhận được nguồn cấp dữ liệu RSS, chưa có bất kỳ chỉnh sửa nào đối với bài viết.

Tôi không thể tìm thấy thông số kỹ thuật RSS về điều này không may, nhưng tôi khá tích cực đó là những gì họ đang có.

3

By RSS 2.0 specification, có vẻ như họ là tương đương:

lastBuildDate:

Lần cuối cùng nội dung của kênh thay đổi.

pubDate:

Ngày xuất bản về nội dung trong kênh. ...

Sự khác biệt là tinh tế: Chúng cho chúng tôi biết về phương pháp đã được sử dụng. Trong trường hợp <pubDate>, kênh được xuất bản theo cách thủ công hoặc trong khoảng thời gian cố định. Trong trường hợp <lastBuildDate>, kênh được tạo tự động khi bài viết mới được thêm vào trang web, thêm nó làm mục mới.

0

Trong khi các câu trả lời khác ở đây cung cấp một số thông tin tốt, tôi cảm thấy cần phải xây dựng chỉ một chút cho bất kỳ khách truy cập nào trong tương lai.

pubDate
Ngày xuất bản cho nội dung trong kênh. Ví dụ: Thời báo New York xuất bản hàng ngày, ngày xuất bản sẽ xuất hiện sau mỗi 24 giờ. Đó là khi pubDate của kênh thay đổi.

lastBuildDate
Lần cuối cùng nội dung của kênh thay đổi.

Vì vậy, hãy lấy New York Times làm ví dụ một lần nữa, <pubDate> là ngày nguồn cấp dữ liệu được xuất bản trong khi <lastBuildDate> sẽ là ngày nội dung bên trong nguồn cấp dữ liệu thay đổi. Cuối cùng, tôi sẽ xem <pubDate> là ngày nguồn cấp dữ liệu được xuất bản và <lastBuildDate> là ngày bất kỳ nội dung nào trong nguồn cấp dữ liệu được sửa đổi lần cuối.

+0

Tôi cảm thấy vấn đề ở đây là nguồn cấp dữ liệu internet không thể xuất bản như báo chí. Thời báo New York không phải là một ví dụ tốt vì nó sử dụng các giá trị pubDate và lastBuildDate giống hệt nhau trong nguồn cấp dữ liệu của nó. – Phil

3

Câu trả lời ở đây là tất cả các nơi. Một số người đang bối rối bởi thực tế là item cũng có một số pubDate. Tôi tin rằng OP đặc biệt hỏi về sự khác biệt giữa lastBuildDatepubDateở mức channel cấp.

Từ sự hiểu biết tốt nhất về thông số RSS, nổi tiếng với các giải thích không rõ ràng, lastBuildDate sẽ là lần cuối cùng nguồn cấp dữ liệu được tạo. Ví dụ: nếu bạn lưu một bản sao của nó trên máy chủ của bạn trong một khoảng thời gian, lastBuildDate sẽ là thời gian mà bản sao được lưu trong bộ nhớ cache được tạo.

pubDate, mặt khác, dường như về cơ bản là lần cuối cùng bất kỳ nội dung thực tế nào trong nguồn cấp dữ liệu đã thay đổi. Đối với hầu hết các phần, nó sẽ là giá trị pubDate mới nhất từ ​​items trong nguồn cấp dữ liệu, vì thông thường, nội dung nguồn cấp dữ liệu chỉ thay đổi khi một số mục mới được xuất bản. Tuy nhiên, đó cũng có thể là ngày bạn tự thay đổi kênh, chẳng hạn như thay đổi tiêu đề, mô tả kênh, v.v.