使用 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# 从选择列表中获取内部文本值的主要内容,如果未能解决你的问题,请参考以下文章

从文本字段复制值以选择下拉列表[重复]

文本框和标签数组如何在 C# 中的提交方法中获取值

在Jquery中获取所选选项的文本值[重复]

如何使用 pyspark 从 python 列表中选择随机文本值?

c# 将从单个文本框中获取的多个值分配给标签

使用 WPF 成功连接后无法从 Access 数据库获取数据