2009-11-19 57 views
2

我有一个任务要做。如何确定一个网页是否有RSS或不在C#

我需要下载一个网页并查看页面是否包含任何RSS提要。

我知道如何在C#中使用Http APIs下载网页到字符串,但是我怎样才能确定http页面字符串是否包含任何RSS提要?

感谢

杰克

+0

谢谢你的答复。我想要一些轻量级的东西,所以正则表达式听起来不错。 Codebrain,请给我一个正则表达式来找到链接?我真正需要的仅仅是轻微的决心,这意味着我不需要确认rss是否有效。我只需要知道该页面是否有rss。 – Jack 2009-11-19 14:39:30

回答

1

我希望你将不得不在页面加载到一个DOM(XmlDocumentXDocumentHtmlDocument),并检查是否有喜欢的任何节点:

<link rel="alternate" type="application/atom+xml" ... 

这应该是(在xpath中)类似于"/html/head/link[@rel='alternate' and @type='application/atom+xml']" - 然后查看@title@href

1

而不是将HTML加载到XMLDocument(如果它不符合XHTML,则可能不可行),请尝试使用HTML Agility Pack。它为您提供XMLDocument-like语法,但您可以使用格式错误的HTML。

但通常你能看到该链接的标签页面中的头..

1

使用正则表达式来检查链接标签的HTML。

的详尽的方法是蜘蛛每HREF链接并检查内容类型和RSS或Atom标签的存在...

+1

'

'不能抱它已经太晚了。 http://stackoverflow.com/questions/1732348#1732454 – 2009-11-19 12:31:36

+1

考虑到他正在寻找一个已知的标记,在这种情况下使用RegEx并非不合理IMO – Codebrain 2009-11-19 13:00:05

相关问题