2012-06-27 4 views
0

Я пытаюсь проанализировать HTML-страницу, используя пакет гибкости HTML. Моя проблема заключается в том, что я должен анализировать и отображать количество просмотров страниц на каждой странице с помощью HAP. Предположим, у меня 3 страницы. Каждая страница содержит количество просмотров страниц в div или диапазоне или в случайных позициях. Честно говоря, у него нет фиксированной позиции, и трудно найти, где находится тег, содержащий просмотры страниц.Как анализировать HTML-тег?

Например,

In Page 1 
<!--Some content--> 
<div>12 Page views</div> 
<!--Some content--> 

In Page 2 
<!--Some content--> 
<span>11 Page views</span> 
<!--Some content--> 

In Page 3 
<!--Some content--> 
<table><tr><td><!--Some content--></td></tr> 
<tr><td>3 Page views only</td></tr></table> 
<!--Some content--> 

Мне нужно найти количество из указанных выше тегов. Формат может быть любым,

<no> Page views 
<no> Page views Only 
<no> Page view till now 
etc... 

Может кто-нибудь предложить способ разобрать содержание?

+1

Возможно, вы должны использовать регулярное выражение: «[0-9] + просмотр страницы [s]? (Только до сих пор) {0,1}" или что-то подобное? и verfify taht это не часть вашего контента ... – astreal

+0

Текст в тег является стандартным? означает, что он останется таким же, как «Просмотры страниц» «Только просмотры страниц» и т. д. –

+0

Почему к этому вопросу добавлен тег WPF? – akjoshi

ответ

0

У меня есть решение проблемы. Это не глобальное решение, а его работа для меня сейчас. Надеюсь, это поможет другим.

int result = -1; 
      var matches = Regex.Matches(
       HTMLText, 
       @"(?:\S+\s)?\S*page views\S*(?:\s\S+)?", 
       RegexOptions.IgnoreCase 
      ); 

      foreach (Match m in matches) 
      { 
       string val = m.Value; 
       int res=-1; 
       if (Int32.TryParse(val, out res)) 
       { 
        result = res; 
        break; 
       } 
      } 
+0

Вы пытались присвоить определенный идентификатор или класс тегам, в которых вы храните «Представления страниц», тогда вы можете получить этот идентификатор/класс и получить его текст. –

+0

@ ebad86 благодарит за комментарий. Содержимое поступает с внешнего сайта, и у меня нет доступа к нему. Я пытаюсь прочитать содержание, предоставленное этим сайтом. – Matt

Смежные вопросы