对于我目前正在开发的 Android 应用程序,我希望能够解析来自 RSS 提要的原始 XML 数据并显示它。有问题的 RSS 提要使用 Feedburner 进行发布,到目前为止,我的 Google-fu 没有告诉我如何获取原始 XML。有小费吗?
10 回答
从谷歌浏览器中,您可以像这样更新 url,您将获得原始 xml:
查看源:http://feeds.feedburner.com/TheAppleBlog
尝试将 fmt=xml 添加到您的网址。例如: http: //feeds.feedburner.com/blogname ?fmt=xml 。
对于使用 XPathQuery 从响应中提取数据的 iOS SDK,我遇到了其他奇怪的问题。
在 Google Chrome 中,您可能需要同时应用此处描述的两种方法(?format=xml
和 view-source:
):
view-source:http://feeds.feedburner.com/TheRegardingBlog?format=xml
对于还没有弄清楚的人:
发送不带任何标头的 HTTP 请求(即不要从浏览器执行)以接收原始 RSS 提要。
Feedburner 提要向浏览器发送原始 XML,但它也发送一个样式表来设置 XML 标记的样式,因此浏览器将 XML 呈现为样式化内容:
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>
然而,提供的数据是 XML。
所以完全没有必要添加像?format=xml
. 如果您将请求的响应记录到这些提要之一,或查看源代码,您将看到 XML。
@Shimmy @Jordan 事实上它有效,如果您在访问页面时检查网页的来源,您会注意到正常访问提供了一个 HTML 页面,并使用 ?fmt=xml 参数提供和 XML 提要进行访问。
结果在浏览器中保持不变,因为 XML 提要也使用 XSL 样式表进行格式化,从而产生与不使用 xml 参数时相同的外观。
博主的 Feedburner 原始提要网址如下 {blogname}/feeds/posts/default?alt=rss
您应该使用?format=xml
来获取提要的原始 XML。实际上,检索提要 XML 的两种方式都有效。但不总是。?format=xml
但是对我尝试过的所有提要都有效,但?fmt=xml
没有。我可以猜到,fmt
是 legacy 参数,作为View feed XML按钮可用的 feed 使用format
。
通常,FeedBurner 直接提供 XML 提要(不要与用于美化 RSS 的样式表混淆)。
很简单,在这里搜索n之后,我终于找到了一个解决方案
http://www.blogger.com/feeds/blogId/posts/default
注意:要知道您的博客 ID,首先,登录 Blogger。然后选择您要查找其 ID 的博客,然后单击其名称。
如果您查看地址栏中的 URL,则可以从任何发布、设置或模板页面中找到您博客的 ID 号。在地址的末尾,您可以看到它显示 blogID=XXXXXX,其中 X 代表您的博客 ID。
可以通过查看 Feedburner 提要的源代码(或下载它并以文本文件的形式查看)来提取“未刻录”的 RSS 提要的原始版本。原始提要在 <channel> 元素的 <link>...</link> 标记之间提供。它也可以通过 JavaScript 或 PHP 使用 XML DOM 搜索来提取。