Поиск значения в html странице - C#
Формулировка задачи:
Добрый день уважаемые!
Учу C#. Знаю его только на полкнижки
Я уже облазил форум по своей проблеме. Не писал бы если бы что то получилось... Прошу помощи.
Смысл задачи - вытащить значение из МФУ по количеству распечатанных страниц. У МФУ я не нашел ни какого опросного протокола по этому информацию приходится вытягивать через Web-морду http://192.168.9.22. Я нашел адрес страницы где находиться нужное число http://192.168.9.22/start/StatCntFunc.htm.
Есть два пути:
1. скачать страницу, сохранить на диске и работать как с текстовым файлом.
2. Осуществлять поиск напрямую на web-странице.
Вот собственно часть кода страницы с которой нужно вытащить значение:
Нужна вот эта строчка
из нее значение в кавычках - "21610"
значение sLabel[2]= Usage[0];sData[2] = " - уникально на странице, по нему можно искать. Но я не сообразил как...
Строчка со значением имеет номер строки 131 в каждой странице - то есть по номеру тоже можно осуществлять поиск.
Пожалуйста, помогите.
WebClient wc23 = new WebClient();
Uri ui23 = new Uri("http://192.168.9.23/start/StatCntFunc.htm");
wc23.DownloadFile(ui23, "d://23.txt");//sLabel[0] = GlobalNav[4];sData[0] = "";
//sLabel[1] = GlobalNav[2];sData[1] = "0";
//sLabel[2] = GlobalNav[5];sData[2] = "";
//sLabel[3] = Usage[0];sData[3] = "0";
sLabel[0] = GlobalNav[4];sData[0] = "696";
sLabel[1] = GlobalNav[2];sData[1] = "20914";
if(parent.FaxSupport == 1)
{
sLabel[2] = NavFax[13];sData[2] = "0";
sLabel[3] = Usage[0];sData[3] = "21610";
}
else
{
sLabel[2]= Usage[0];sData[2] = "21610";
}sLabel[2]= Usage[0];sData[2] = "21610";
Решение задачи: «Поиск значения в html странице»
textual
Листинг программы
string path = @"d:\\22.txt";
System.IO.StreamReader myFile = new System.IO.StreamReader(path);
string fullText = myFile.ReadToEnd();
String str = "sLabel[2]= Usage[0];sData[2] = \"";
int start = fullText.IndexOf(str) + str.Length;
int end = fullText.IndexOf("\"", start + 1);
String res = fullText.Substring(start, end - start);
Console.WriteLine(res);
Console.ReadKey();