我正在解析各种网站供稿,并整理一个小型图书馆来帮助我这样做。
查看Atom RFC和RSS 2.0 specification,来自Twitter的Feed似乎是一个组合。 Twitter在RSS 2.0结构中指定Atom命名空间?
GitHub使用Atom,而Flickr(提供多个但来自用户个人资料的默认“最新”供稿)显示为to be RSS 2.0。
Twitter如何指定Atom命名空间然后使用RSS?
这使得解析提要有点模糊,除非我忽略任何指定的命名空间并只检查文档结构。
答案 0 :(得分:3)
Twitter根本没有实际指定RSS的命名空间,但它实际上是RSS。它仅为Atom指定名称空间,因为它在内部使用了一些原子元素(特别是它使用atom:link
来引用反馈的URL。
请注意,xmlns
for atom指定了前缀,这意味着只有文档中带有atom:
前缀的元素来自该命名空间。
实际消除歧义的最简单方法是查看根元素。如果它是Atom,它将是feed
。如果是RSS,它将是rss
。
答案 1 :(得分:1)
绝对是RSS。例如,Atom订阅源不使用频道或项目。鉴于此,关于规范,您可以排除Atom。我有一种预感,它不会违反RSS规范来声明命名空间。
无论如何,您不必担心自己解析Feed;得到parser为你做的工作。