Как определить, есть ли у веб-страницы RSS или нет в C # - PullRequest
2 голосов
/ 19 ноября 2009

У меня есть задача.

Мне нужно загрузить веб-страницу и проверить, содержит ли она какие-либо RSS-каналы.

Я знаю, как загрузить веб-страницу в строку, используя Http API в C #, но как я могу определить, что строка http-страницы содержит какие-либо RSS-каналы или нет?

Спасибо

Jack

Ответы [ 3 ]

1 голос
/ 19 ноября 2009

Вместо загрузки HTML в XMLDocument (что может быть невозможно, если он не совместим с XHTML), попробуйте вместо этого HTML Agility Pack . Он дает вам XMLDocument-подобный синтаксис, но вы можете использовать искаженный HTML с ним.

но, как правило, вы бы искали этот тег ссылки в заголовке страницы ..

1 голос
/ 19 ноября 2009

Используйте регулярное выражение для проверки HTML-кода тега ссылки.

Исчерпывающий подход состоит в том, чтобы "пауковать" каждую ссылку href и проверять тип содержимого и наличие тегов rss или atom ...

1 голос
/ 19 ноября 2009

Полагаю, вам придется загрузить страницу в dom (XmlDocument, XDocument или HtmlDocument) и проверить наличие таких узлов, как:

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

Это должно быть (в xpath) что-то вроде "/html/head/link[@rel='alternate' and @type='application/atom+xml']" - тогда посмотрите на @title и @href.

...