Выбор внутреннего текста с использованием HtmlAgilityPack

c# html html-agility-pack

Вопрос

Я пытаюсь извлечь некоторый внутренний текст, используя HtmlAgilityPack. Вот интересующий HTML-код:

<select name="Archives" onchange="javascript:setTimeout(&#39;__doPostBack(\&#39;Archives\&#39;,\&#39;\&#39;)&#39;, 0)" id="Archives" style="width:200px;">
    <option selected="selected" value="Dashboard_Jul-2012">Dashboard_Jul-2012</option>
    <option value="Dashboard_Jun-2012">Dashboard_Jun-2012</option>
</select>

Я использую:

string output = htmlwriter.InnerWriter.ToString()
var doc = new HtmlDocument();
doc.LoadHtml(output);
string inner = doc.DocumentNode.SelectSingleNode("//option[@selected='selected']").InnerText;

но все, что я получаю, это пустая строка.

Любые советы приветствуются.

С уважением.

Принятый ответ

HTMLAgilityPack по умолчанию оставляет теги опций пустыми (вы можете видеть причину автора для этого в HtmlAgilityPack - почему-то закрывается ли <form> по какой-то причине? ). Чтобы исправить это, добавьте эту строку перед выбором узлов:

HtmlNode.ElementsFlags.Remove("option");


Related

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