Используйте HTMLAgilityPack, как ответили в этом сообщении:
Как получить значения из тегов HTML?
Дополнительная информация:
HTML может быть неправильно сформирован, поэтому нам нужен другой синтаксический анализатор (кроме XML, поставляемого в .net), который более отказоустойчив. Вот тут и приходит HTMLAgilityPack.
Начало работы:
создать новое консольное приложение
щелкните правой кнопкой мыши ссылки / управляйте пакетами nuget (установите NuGet, если у вас его нет).
добавить гибкость html
Рабочий пример:
using System;
using System.IO;
using System.Text;
using HtmlAgilityPack;
namespace ConsoleApplication4
{
class Program
{
private const string html =
@"<?xml version=""1.0"" encoding=""ISO-8859-1""?>
<div class='linkProduct' id='link' anattribute='abc'/>
<bookstore>
<book>
<title lang=""eng"">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang=""eng"">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
";
static void Main(string[] args)
{
HtmlDocument doc = new HtmlDocument();
byte[] byteArray = Encoding.ASCII.GetBytes(html); MemoryStream stream = new MemoryStream(byteArray);
var ts = new MemoryStream(byteArray);
doc.Load(ts);
var root = doc.DocumentNode;
var tag = root.SelectSingleNode("/div");
var attrib = tag.Attributes["anattribute"];
Console.WriteLine(attrib.Value);
}
}
}
Далее:
Добейтесь успеха в XPaths. Вот хорошее место для начала.
http://www.w3schools.com/xpath/xpath_syntax.asp