2015-07-16 3 views
3

Есть ли HTML-парсер, использующий X-Path для UWP - Windows 10?HTML Parser для Windows 10 (UWP)

Какой простой/лучший способ изучения HTML в Windows 10?

+0

[htmlagilitypack] (https://htmlagilitypack.codeplex.com) – Graffito

+0

@Graffito Не поддерживает ... Получил ошибку в методе SelectNode ... Как Windows Phone 8.1 – Shahriar

+0

Вы объявить Html-документ как «HtmlAgilityPack.HtmlDocument», а не просто как «HtmlDocument»? – Graffito

ответ

0

Решение 1: Установка-пакета HtmlAgilityPack

https://www.nuget.org/packages/HtmlAgilityPack/

Раствор 2: Синтаксический Html

private async void Parsing(string website) 
     { 
      try 
      { 
       HttpClient http = new HttpClient(); 
       var response = await http.GetByteArrayAsync(website); 
       String source = Encoding.GetEncoding("utf-8").GetString(response, 0, response.Length - 1); 
       source = WebUtility.HtmlDecode(source); 
       HtmlDocument resultat = new HtmlDocument(); 
       resultat.LoadHtml(source); 


      List<HtmlNode> toftitle = resultat.DocumentNode.Descendants().Where 
      (x => (x.Name == "div" && x.Attributes["class"] != null && x.Attributes["class"].Value.Contains("block_content"))).ToList(); 

      var li = toftitle[6].Descendants("li").ToList(); 
      foreach (var item in li) 
      { 
       var link = item.Descendants("a").ToList()[0].GetAttributeValue("href", null); 
       var img = item.Descendants("img").ToList()[0].GetAttributeValue("src", null); 
       var title = item.Descendants("h5").ToList()[0].InnerText; 

       listproduct.Add(new Product() 
       { 
        Img = img, 
        Title = title, 
        Link = link 
       }); 
      } 

     } 
     catch (Exception) 
     { 

      MessageBox.Show("Network Problem!"); 
     } 

    } 

Windows 8 Parsing Html using C# sample in C# for Visual Studio 2013[^]

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