RegEx: Определить значение тега Title HTML-страницы - C#
Формулировка задачи:
Господа, добрый вечер. Прошу помочь в одной функции:
Подключаю System.Net и System.Text.RegularExpressions.
Далее мне необходимо в функции определить значение тега Title HTML-страницы, URL которой я передаю на вход функции.
Пытаюсь сделать следующим образом:
При проверке определил, что не попадаю в match.Success.
Не могли бы вы помочь с двумя вопросами:
1) Как извлечь значение между тегами <Title> </Title>
2) Как его затем сохранить в значение string title
P.S. есть ли различие анализировать тег <TITLE> или <Title>
public int WebPageExist(string url)
{
WebRequest webrequest;
try
{
webrequest = WebRequest.Create(url);
}
catch
{
return 0; //url не существует
}
WebResponse webresponse = webrequest.GetResponse();
// Match match=Regex.Match(url,@"<TITLE>\s*(.+?)\s*</TITLE>");
Match match = Regex.Match(url, @"<TITLE>\w</TITLE>");
if (match.Success)
{
string title = match.Groups[1].Value;
if (title.Contains("Произошла ошибка")==true)
{
return 1; //url существует но не действителен
}
}
return 2; //url существует и действителен
}Решение задачи: «RegEx: Определить значение тега Title HTML-страницы»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Title_From_Html_document
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
WebBrowser webBrowser = new WebBrowser();
webBrowser.Navigate(textBoxUrl.Text);
webBrowser.ProgressChanged += new WebBrowserProgressChangedEventHandler(webBrowser_ProgressChanged);
webBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
}
void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
progressBar1.Maximum = (int)e.MaximumProgress;
progressBar1.Value = (int)e.CurrentProgress;
}
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
richTextBoxTitle.Text = (sender as WebBrowser).Document.Title;
}
}
}