<div class="clearfix">
<i class="_2m_3 _3-91 _8o _8s lfloat _ohe img sp_sJ1LAYlqgzt sx_2abc43"></i>
<div class="_42ef">
<div>
<div class="_50f3">Живет в <a class="profileLink" href="https://www.facebook.com/pages/%D0%9B%D0%BE%D1%81-%D0%90%D0%BD%D0%B4%D0%B6%D0%B5%D0%BB%D0%B5%D1%81/110970792260960?ref=br_rs" data-hovercard="/ajax/hovercard/page.php?id=110970792260960" data-hovercard-prefer-more-content-show="1">Лос-Анджелес</a>
</div>
<span class="_50f8"></span>
</div>
</div>
</div>
Мне нужно от сюда сохранить "Живёт в" и "Лос-Анджелес". Делаю так, но var text1 и var text2 всегда null. В чём проблема?
HtmlAgilityPack.HtmlDocument HD = new HtmlAgilityPack.HtmlDocument();
HD.LoadHtml(sourceCode);
var text1 = HD.DocumentNode.SelectNodes("//div[@class='_42ef']/div/div[@class='_50f3']/text()");
var text2 = HD.DocumentNode.SelectNodes("//div[@class='_42ef']/div/div[@class='_50f3']/a");
Я кажется понял в чём дело. Нужная часть кода находится между тегами <!-- -->
. Регулярками я сохранил то что записано в тегах и добавил <!DOCTYPE html>
к началу полученной строки. И всё заработало
Небольшое отступление. Написано по размышлениям над комментариями к ответу.
HTML - не является XML-документом. Поэтому парсить его при помощи XML-парсеров - некорректно. Используйте для этого HTML-парсеры или на крайний случай регулярные выражения.
Можно прочитать весь текст и потом уже с ним работать. Названия классов, как я понимаю, могут поменяться. Да и структура тоже.
string content = ...; //текст html
var reader = new StringReader(content);
XPathDocument doc = new XPathDocument(reader);
var nav = doc.CreateNavigator();
foreach (XPathNavigator n in nav.Select("div"))
{
Console.WriteLine(n.Value);
}
Выведет: Живет в Лос-Анджелес
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, пожалуйста, как лучше сделатьСитуация следующая: Допустим, имеется две кнопки на двух разных вкладках (TabControl) предназначенных...
Нашел много всяких вопросов на эти темы но не один мне не помогаетВозьмем картинку которую я получаю с помощью vk api https://pp