ASP RSS Parser, Feed Reader

Ký gửi 4651719 s

Cuối tuần này, tôi dán mắt vào máy tính xách tay của mình để tìm kiếm trên mạng các trình đọc nguồn cấp dữ liệu RSS dựa trên web. Lý do là tôi muốn viết một trình đọc nguồn cấp dữ liệu asp RSS sẽ hiển thị nguồn cấp dữ liệu để nội dung có thể được tự động trích xuất thành một email HTML. Vì vậy, đối với những người muốn dành một phần bản tin email của họ cho các bài báo trên Blog hoặc Ấn phẩm của họ, nó có thể được kết hợp dễ dàng. Vì JavaScript không thực sự hiển thị nội dung cho đến khi máy khách tải và thực thi tập lệnh, nên rất nhiều trình duyệt JavaScript RSS không hữu ích. Tôi cần một trình đọc nguồn cấp RSS phía máy chủ.

Tôi đã bắt đầu bằng cách viết trình phân tích cú pháp của riêng mình trong ASP bằng cách sử dụng đối tượng MSXML. Tôi đã có thể phân tích cú pháp khoảng 75% nguồn cấp RSS làm điều này, nhưng một số đặc tả XML lỏng lẻo trên nguồn cấp RSS tỏ ra rất khó lập trình. Bạn có thể thấy nó hoạt động nhấn vào đây.. Bạn có thể chuyển số mục tối đa (ni), số ký tự bị cắt ở từ (nc), cũng như URL. Bạn cũng có thể thấy nguồn cấp dữ liệu thực tế với một biến gỡ lỗi nhấn vào đây..

Nhiều nguồn cấp RSS thực sự khá 'bẩn' và yêu cầu phân tích cú pháp văn bản trong tệp XML bằng mã thao tác chuỗi (ugh!). Tất nhiên, chúng tôi vẫn đang trong độ tuổi thanh xuân RSS trên mạng nên tôi không ngạc nhiên. Đọc thêm về thông số kỹ thuật RSS nhấn vào đây..

Cuối cùng, tôi bắt gặp một viên ngọc nhỏ. Tôi đã tìm thấy một lớp ASP miễn phí để tải xuống. Nó hơi chậm một chút, nhưng tôi không tìm thấy nguồn cấp dữ liệu mà nó không thể đọc được. Tôi có phiên bản tĩnh ở đây và phiên bản động ở đây.

Một vài lưu ý trên kịch bản. Tôi cần phải xóa một số thẻ HTML trong các mô tả được trả về. Tôi đã làm điều đó với một chức năng dọn dẹp nhỏ mà tôi tìm thấy:

Hàm RemoveHTML (strText) Dim nPos1 Dim nPos2 nPos1 = InStr (strText, ">") Do While nPos1> 0 nPos2 = InStr (nPos1 + 1, strText, ">") Nếu nPos2> 0 Thì strText = Left (strText, nPos1 - 1) & Mid (strText, nPos2 + 1) Khác Exit Do End If nPos1 = InStr (strText, ">") Loop RemoveHTML = strText End Function

Tôi cũng đã thêm một đoạn mã nhỏ gọn gàng khác: Đôi khi, tôi có thể muốn hiển thị nhiều hơn hoặc ít hơn một mô tả. Tuy nhiên, nếu tôi chỉ giới hạn số lượng ký tự, thì tôi có thể cắt bỏ phần mô tả ở giữa từ. Tôi không muốn làm điều đó!

Hàm Cutoff (strText, intChars) dim intLength dim j intLength = len (strText) if intChars> intLength then for j = intChars to 0 step -1 if mid (strText, j, 1) = "" then exit for next if j> 0 then strText = left (strText, j-1) & "..." else strText = strText end if end if Cutoff = strText End Function

(Tôi đã gặp một số vấn đề với việc hiển thị mã của mình một cách chính xác trong mục nhập này… hãy cho tôi biết nếu bạn gặp sự cố với một trong hai chức năng này!)

Tôi cũng đã nhận thấy một số công cụ khác trên mạng. Đây là một
NET. phiên bản, nhiều phiên bản PHP, rất nhiều phiên bản JavaScript.

Để kết luận, tôi hy vọng rằng các đặc tả RSS tiếp tục được tinh chỉnh và các nguồn cấp dữ liệu thực tế tuân thủ các tiêu chuẩn XML trong mọi trường hợp. Các ứng dụng miễn phí như TypePad, WordPress, v.v. cần phải tinh chỉnh chức năng RSS của chúng. Các blog bổ sung như MySpace, Xanga, LiveJournal, v.v. cần cải thiện chức năng RSS của họ. RSS rất mạnh mẽ…Chris Baggott đã viết một đoạn tuyệt vời trên Email so với RSS. Tôi nghĩ rằng việc kết hợp chức năng của chúng có thể làm tăng tác động của cả hai!

Bạn nghĩ gì?

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.