2017-01-28 3 views
0

я сделал использование WebView, чтобы получить полный исходный код страницы и я записать его в файлКак получить все IMG тегов из исходного текста с anglesharp

так что теперь мне нужно, чтобы извлечь все изображения из файла

я прочитал этот файл с помощью StreamReader и я даю его в строку Called TheHtmlSource, как вы видите в коде

это мой код

 var config = Configuration.Default.WithDefaultLoader(); 
     for (int i = 0; i < TheHtmlSource.Length; i++) 
     { 
      string theImageUrl = (await BrowsingContext.New(config).OpenAsync(TheHtmlSource)) 
       .DocumentElement.Descendents() 
       .Where(x => x.NodeType == NodeType.Element) 
       .OfType<IHtmlImageElement>() 
       .Where(x => x.Attributes["class"]?.Value == "_icyx7") 
       .Select(x => x.Attributes["src"]?.Value) 
       .FirstOrDefault(); 
      int index = theImageUrl.IndexOf("?"); 
      string fixedImageUrl = theImageUrl.Remove(index); 
      _list.Add(new AllImageUrls() 
      { 
       url = fixedImageUrl 
      }); 
     } 

, но я не работаю я получаю N ullReference Ошибка

им с помощью Xamarin В Visual Studio

Любая помощь будет принята с благодарностью

+0

Можете ли вы разместить тег, из которого вы пытаетесь получить значение img? – Yupi

+0

.OfType () img calss = "_ ixx7" Выбор Src –

+0

Вы опубликовали целый тег? Это очень важно, если у него есть пробелы между или namespace – Yupi

ответ

0

await BrowsingContext.New(config).OpenAsync(addressString) принимает строку, которая должна быть адресом. Из вашего описания вы передаете исходную строку этому методу, что недопустимо.

Если вы хотите проанализировать исходную строку, вы можете использовать AngleSharp.Parser.Html.HtmlParser, которую вы можете найти в ее использовании AngleSharp Documentation.

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