Ich versuche, einen inneren Text mit HtmlAgilityPack zu extrahieren. Hier ist der HTML von Interesse:
<select name="Archives" onchange="javascript:setTimeout('__doPostBack(\'Archives\',\'\')', 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>
Ich benutze:
string output = htmlwriter.InnerWriter.ToString()
var doc = new HtmlDocument();
doc.LoadHtml(output);
string inner = doc.DocumentNode.SelectSingleNode("//option[@selected='selected']").InnerText;
aber alles, was ich bekomme, ist die leere Saite.
Jeder Rat wird geschätzt.
Grüße.
HTMLAgilityPack lässt standardmäßig Options-Tags leer (Sie können den Grund des Autors für HtmlAgilityPack sehen - Schließt sich <form> aus irgendeinem Grund selbst? ). Um es zu beheben, fügen Sie diese Zeile hinzu, bevor Sie die Knoten auswählen:
HtmlNode.ElementsFlags.Remove("option");