使用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>

我在用:

<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>

但我得到的只是空字符串。

任何建議表示讚賞。

問候。

一般承認的答案

HTMLAgilityPack默認情況下將選項標記留空(您可以在HtmlAgilityPack中看到作者的原因- <form>是否因某種原因關閉了自己? )。要修復它,請在選擇節點之前添加此行:

HtmlNode.ElementsFlags.Remove("option");



許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因