Вопрос

Я пытаюсь использовать HTML Agility Pack, чтобы получить текст описания изнутри:

<meta name="description" content="**this is the text i want to extract and store in a string**" />

И кто-то из Stackoverflow немного назад предложил использовать HTMLAgilityPack. Но я не знаю, как его использовать, и документация для него, которая была найдена (включая документы, содержащиеся в загрузках), имеет неверные ссылки и поэтому не может просмотреть документацию.

Может кто-нибудь, пожалуйста, помогите мне решить это?

Ответ эксперта

Использование очень похоже на XmlDocument ; вы можете использовать MSDN для XmlDocument для широкого обзора; вы также можете изучить синтаксис xpath ( MSDN ).

Пример:

HtmlDocument doc = new HtmlDocument();
doc.Load(path); // or .LoadHtml(html);
HtmlNode node = doc.DocumentNode.SelectSingleNode("//meta[@name='description']");
if (node != null) {
    string desc = node.GetAttributeValue("content", "");
    // TODO: write desc somewhere
}

Второй аргумент для GetAttributeValue по умолчанию возвращается в случае, если атрибут не найден.


Популярные ответы

public string HtmlAgi (строковый url, строковый ключ) {

    var Webget = new HtmlWeb();
    var doc = Webget.Load(url);
    HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(string.Format("//meta[@name='{0}']", key));

    if (ourNode != null)
    {


            return ourNode.GetAttributeValue("content", "");

    }
    else
    {
        return "not fount";
    }

}


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему