我正在尝试使用 HtmlAgilityPack 提取一些内部文本。这是感兴趣的 HTML:
<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>
我正在使用:
string output = htmlwriter.InnerWriter.ToString()
var doc = new HtmlDocument();
doc.LoadHtml(output);
string inner = doc.DocumentNode.SelectSingleNode("//option[@selected='selected']").InnerText;
但我得到的只是空字符串。
如有任何建议,我们将不胜感激。
问候。
最佳答案
HTMLAgilityPack 默认情况下将选项标签留空(您可以在 HtmlAgilityPack -- Does <form> close itself for some reason? 查看作者的原因)。要修复它,请在选择节点之前添加此行:
HtmlNode.ElementsFlags.Remove("option");
关于c# - 使用 HtmlAgilityPack 选择内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12059399/