zh-Hant v
en zh tw

RSS 與 Atom 訂閱解析

從本地 XML 提取條目、鏈接、作者、日期和附件,導出 JSON、CSV 或 URL 列表。

讀取訂閱,不打開其中的鏈接

粘貼 XML 或打開 UTF-8 文件。支持包含一個 channel 的 RSS 2.0、Atom 1.0 feed 和獨立 Atom entry 文檔。Atom 前綴按命名空間識別,不依賴具體拼寫。報告包含條目、作者、分類、替代鏈接和附件;標題與摘要作為文本處理,不插入可執行 HTML。

可選訂閱文檔 URL 用於解析相對引用,嵌套 xml:base 會逐層繼承。沒有可用基址時,相對鏈接仍保留在報告中,並標記未解析,不偽造目標 URL。不安全或不支持的協議保留原始值,但不進入主要 HTTP URL 導出。

日期保留來源值

報告保留去除首尾空白後的原始日期;支持轉換時另給 UTC ISO 值。Atom 使用帶明確時區的 RFC 3339 時間;RSS 支持常見 RFC 822 風格日期、數字時差及 UT/GMT/美國標準縮寫,也支持兩位年份。日期與時間會校驗,2 月 30 日不會自動滾到 3 月。

閏秒和未知時差保留原文,不臆造歸一化時間;星期不一致會標記。原始字符串保留毫秒以下精度,UTC 輸出使用毫秒。日期無效也不會丟棄整條記錄;RSS 的 dc:date 按命名空間識別。

按用途選擇導出

JSON 保留結構化元數據和各鏈接的問題。CSV 每個返回條目一行,使用 CRLF 並保護公式單元格。URL 列表只輸出條目的主要 HTTP/HTTPS 網址,優先選擇 HTML alternate 鏈接。RSS 沒有主要鏈接時,可使用有效 guid 作為後備,除非 isPermaLink 為 false;ID 保持字符串,不按 URL 規範化。

去重可選:優先按區分大小寫的 ID,無 ID 時按主要 URL,保留第一次出現的條目,再應用返回數量限制,報告明確說明是否截斷。原始正文模式將 HTML 或序列化 XHTML 作為數據輸出,不下載附件,也不解碼內嵌二進制內容。

校驗範圍與限制

工具不是完整 RSS/Atom Schema 或語義校驗器。可以報告缺少條目文本、缺少 Atom ID、日期問題、無效基址和不可用鏈接,但無問題報告不等於訂閱完全符合規範。HTML 摘要通過惰性解析器轉為文字,略過腳本和樣式。

拒絕有效 DTD/實體聲明、格式錯誤的 XML、非法 XML 字符,以及超過 64 層的嵌套;註釋和 CDATA 可包含字面的 DOCTYPE 示例。輸入最多 2,097,152 個 UTF-16 單位,上傳 UTF-8 文件最多 2 MiB,XML 樹最多 100,000 個節點,訂閱最多 5,000 條。輸出最多 8,388,608 個字符;預覽超過 200,000 時截短,複製和下載保留完整內容。處理在本機 Worker 進行,15 秒超時停止。

常見問題

會加載鏈接、圖片或音頻嗎?

不會。XML 和可選原始 HTML 均作為數據讀取,不打開文章、圖片、附件或外部實體。

為什麼相對網址沒有解析結果?

請提供文檔的公開 URL 或有效 xml:base;本地文件名不能推導原站網址。

能解析出條目就表示訂閱有效嗎?

不表示。工具只提供結構化解析及部分診斷,發佈時仍應核對源文檔和規範。

其他語言

參考資料

我們如何確保結果正確

我們使用以下自動化測試驗證此工具。下方保留測試案例的原始名稱,方便查看實際斷言及重現。

驗證方法
檢查 RSS/Atom 字段、Unicode、命名空間、相對 URL、附件長度和原始時間戳。
對比依據
明確 RSS/Atom XML 樣本和預期條目。
驗證範圍
只覆蓋這些樣本和邊界;不代表所有輸入均已證明正確。
測試原始碼與案例(點選檔名檢視)
  • feed-tools.test.js
    • RSS preserves Unicode, decoded query values, original timestamps and exact enclosure length text
    • Atom namespace aliases, inherited and nested xml:base, language links and feed authors are honored

這些測試涵蓋列出的樣本和邊界,不代表所有輸入都已證明正確。往返測試和使用同一依賴套件的檢查,不屬於獨立交叉驗證。