使用 C# 从选择列表中获取内部文本值
Posted
技术标签:
【中文标题】使用 C# 从选择列表中获取内部文本值【英文标题】:Getting inner text values from a select list with C# 【发布时间】:2016-09-13 06:36:08 【问题描述】:我想从选择列表中提取选项值以及选项标签之间的文本。
body>
<select name="country" id="id_country">
<option value="">Select a country...</option>
<option value="AF">Afghanistan</option>
<option value="AX">Åland Islands</option>
<option value="AL">Albania</option>
<option value="DZ">Algeria</option>
<option value="AS">American Samoa</option>
<option value="AD">Andorra</option>
<option value="AO">Angola</option>
我尝试了以下对我有意义的方法。
htmlDocument doc = new HtmlDocument();
doc.LoadHtml(sb.ToString());
var values = doc.DocumentNode.Descendants("option").Select(n => new
Value = n.Attributes["value"].Value,
Text = n.InnerHtml,
).ToList();
并设法获得选项值,但不是标签之间的国家/地区名称。
改为返回这个。
Value="AF", Text="",
Value="AX", Text="",
等等。 我怎样才能返回这些值?
【问题讨论】:
***.com/questions/5069294/… @FᴀʀʜᴀɴAɴᴀᴍ 我认为他想立即从options
中获取所有值,而不仅仅是选定的值。
@diiN_ 是的,你是对的,但链接的答案指出使用 innerHTML
应该产生正确的输出......
Parsing HTML with HtmlAgillityPack的可能重复
酷,谢谢...用this管理
【参考方案1】:
应该使用 n.InnerText 而不是 InnerHtml。
【讨论】:
以上是关于使用 C# 从选择列表中获取内部文本值的主要内容,如果未能解决你的问题,请参考以下文章