2010-09-02 28 views
8

Tôi đang cố gắng viết một trình đọc RSS cơ bản cho một dự án lớp học. Cuốn sách của chúng tôi cho thấy một ví dụ bằng cách đi bộ cây DOM. Đó có phải là cách tiếp cận tốt cho trình đọc RSS không? Tôi có thể bỏ qua một số thẻ không quan tâm đến tôi và không được sử dụng bởi Trình đọc RSS? Cảm ơn.Viết trình đọc RSS trong Java

Trả lời

3

Đây là một trong hai cách tiếp cận phổ biến, vì vậy có. Và có, bỏ qua các thẻ không quan tâm là một cách hay để xử lý nó. Nếu bạn không cần nó, không cần phải lưu ý nó. Nếu bạn biết trước chính xác những gì bạn cần, bạn có thể không cần phải đi bộ toàn bộ cây DOM. Bạn cũng có thể sử dụng trình phân tích cú pháp SAX có thể nhanh hơn và ít tốn nhiều bộ nhớ hơn, mặc dù có thể không cần thiết trong trường hợp này, tùy thuộc vào số lượng kết quả bạn muốn có trong nguồn cấp dữ liệu.

+0

Ưu tiên sử dụng SAX, vì nguồn cấp dữ liệu RSS được dự định là chỉ đọc: bạn không cần triển khai toàn bộ DOM nhưng chỉ nhận danh sách các mục thú vị. Hơn nữa, SAX rất nhẹ. – Benj

2

Processing Atom Feeds với JAXB

Bạn cũng có thể lập bản đồ XML của bạn với các đối tượng sử dụng JAXB. Sau đó bạn có thể sử dụng các đối tượng này trong trình đọc RSS của bạn.

Việc thực hiện tham khảo JAXB được bao gồm trong Java SE 6, cũng có hiện thực khác như MOXY (Tôi là người dẫn đầu công nghệ):

Bạn chỉ cần ánh xạ các phần bạn quan tâm.

Processing Atom Feeds với SDO

Bạn cũng có thể sử dụng Service Data Objects (SDO) để làm điều này:

3

Vâng, vẻ đẹp của RSS feed là chúng luôn có một số cấu trúc tiêu chuẩn, mặc dù một số nguồn cấp dữ liệu chứa các trường không chuẩn, như nguồn cấp dữ liệu RSS của Google Picasa. Cách tiếp cận đơn giản nhất, theo ý kiến ​​của tôi, là sử dụng một công cụ cho phép bạn unmarshall nguồn cấp dữ liệu RSS XML vào đậu RSS của bạn. Bằng cách này, bạn không cần phải viết quá nhiều mã, và bạn có thể chọn những trường bạn muốn và bỏ qua các trường bạn không muốn.

Trong trường hợp của mình, tôi sử dụng Castor để thực hiện quy trình không sửa đổi nơi tôi đọc nguồn cấp dữ liệu RSS của Google Picasa và chỉ thu thập các trường tôi muốn. Hi vọng điêu nay co ich.

1

Tôi có cả bản phân tích và được tạo RSS với thư viện JDOM. Nó được khoảng một thời gian dài và được cập nhật thường xuyên, nhưng kinh nghiệm của tôi là nó không cần cập nhật. Bạn có thể muốn xem xét nó nhưng vì nó khá mạnh mẽ, bạn có thể thấy rằng nó cung cấp quá nhiều chức năng. http://jdom.org/

6

Để cảm hứng, bạn có thể xem ROME, một công cụ nguồn mở để xử lý RSS & Nguồn cấp dữ liệu Atom.

+0

Tuyệt vời, điều này rất hữu ích! RSS và chạy trong Java khoảng 5 phút :) Cần tải xuống jdom (dependency) cũng như Rome – Syntax

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