2017-01-13 3 views
1

Мой HTML-кодAngleSharp Синтаксический [UWP]

<tr> 
    <td colspan="8" class="text"> 
    <B>Total</B>: 
    </td> 
     <td class="text"> 
      <b> 1 GB</b> 
    </td> 
     <td class="text"> 
      <b> 1.8 GB</b> 
    </td> 
    </tr> 

Теперь я хочу, чтобы получить данные внутри тега TD, имеющие класс = "текст".

В питоне я бы сделал это:

historySoup = BeautifulSoup(html) 
table = historySoup.find('td', attrs={ 
    "colspan": "8", 
    "class": "text" 
}).parent 
tds = table.findAll('td') 
puts(tds[1].text) 
puts(tds[2].text) 

Но я застрял с AngelSharp.I попытался это:

var parser = new HtmlParser();    
      var document = parser.Parse(myhtml);    
      var blueListItemsCssSelector = document.QuerySelectorAll("td[colspan = '3']"); 
       foreach (var item in blueListItemsCssSelector) 
      {     
       item.GetElementsByClassName("text"); 
       var x = item.Text(); 

      } 

Но я просто получаю всего как текст в х, а затем конец цикла. Любая идея, как получить доступ к внутренним td-тегам tr и сохранить их текст в списке или массиве? Также требуется время, анализируя любой другой метод, который быстрее, потому что мой html содержит более 200 td-тегов

ответ

1

Эй, ты делал это правильно! В коде C# просто добавьте это

List<string> dataList = new List<string>(); 
foreach (var item in blueListItemsCssSelector) 
      { 

       var x = item.NextElementSibling; 
       dataList.Add(x.Text()); 
       var y = x.NextElementSibling; 
       dataList.Add(y.Text()); 

      } 
+0

Спасибо, сработало! – UwpDeveloper

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