Тег страницы записать в заголовок формы - C#
Формулировка задачи:
Как поместить весь текст между тегом <title>....</title> в текст форми?? Пример: перехожу на страницу google и чтобы у меня тексте формы писало "Google - WBrowser".
Решение задачи: «Тег страницы записать в заголовок формы»
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;
using System.Net;
using System.IO;
using HtmlAgilityPack;
namespace WinForms_GetTitle
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void getTitleButton_Click(object sender, EventArgs e)
{
string htmlCode = GetResponse(textBox1.Text);//"http://www.cyberforum.ru/");
Text = ParseTitle(htmlCode);
}
private string ParseTitle(string htmlCode)
{
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(htmlCode);
HtmlNode titleNode = null;
SearchNode(htmlDoc.DocumentNode, ref titleNode);
return titleNode == null ? string.Empty : titleNode.InnerText;
}
private void SearchNode(HtmlNode node, ref HtmlNode result)
{
foreach (var curNode in node.ChildNodes)
{
if (curNode.Name.Equals("title", StringComparison.CurrentCultureIgnoreCase))
result = curNode;
else
SearchNode(curNode, ref result);
}
}
public static string GetResponse(string Url)
{
string PageContent = "";
try
{
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create(Url);
HttpWebResponse Response = (HttpWebResponse)WebRequestObject.GetResponse();
Stream WebStream = Response.GetResponseStream();
Encoding responseEncoding;
if (Response.CharacterSet.Trim() != "")
responseEncoding = Encoding.GetEncoding(Response.CharacterSet);
else
responseEncoding = Encoding.UTF8; //default UTF-8
StreamReader Reader = new StreamReader(WebStream, responseEncoding);
PageContent = Reader.ReadToEnd();
Reader.Close();
WebStream.Close();
Response.Close();
}
catch
{ }
return PageContent;
}
}
}