我正在解析各种站点提要,并整理了一个小型库来帮助我完成它。
查看Atom RFC和RSS 2.0 规范,来自Twitter的提要似乎是一种组合。Twitter 在 RSS 2.0 结构中指定一个 Atom 命名空间?
GitHub 使用 Atom,而 Flickr(提供多个但默认来自用户配置文件的“最新”提要)似乎是 RSS 2.0。
Twitter 如何指定一个 Atom 命名空间然后使用 RSS?
这使得解析提要有点模棱两可,除非我忽略任何指定的命名空间并只检查文档结构。
我正在解析各种站点提要,并整理了一个小型库来帮助我完成它。
查看Atom RFC和RSS 2.0 规范,来自Twitter的提要似乎是一种组合。Twitter 在 RSS 2.0 结构中指定一个 Atom 命名空间?
GitHub 使用 Atom,而 Flickr(提供多个但默认来自用户配置文件的“最新”提要)似乎是 RSS 2.0。
Twitter 如何指定一个 Atom 命名空间然后使用 RSS?
这使得解析提要有点模棱两可,除非我忽略任何指定的命名空间并只检查文档结构。
Twitter 根本没有为 RSS 指定名称空间,但它实际上是 RSS。它为 Atom 指定命名空间只是因为它在内部使用了一些 atom 元素(特别是它使用 anatom:link
来引用提要的 URL。
请注意,xmlns
for atom 指定了一个前缀,这意味着atom:
文档中只有那些具有前缀的元素来自该命名空间。
实际上消除歧义的最简单方法是只查看根元素。如果是 Atom,它将是feed
. 如果是 RSS,它将是rss
.
这绝对是RSS。一方面,Atom 提要不使用频道或项目。鉴于此,关于规范,您可以排除 Atom。而且我有一种预感,声明命名空间并不违反 RSS 规范。
无论如何,您不必担心自己解析提要。让解析器为您完成工作。