1 | initial version |
You can use the following code in C# to obtain all the select element values using the HTMLAgilityPack:
using HtmlAgilityPack;
// load the HTML document
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("your HTML string or URL");
// select all the select elements
var selectElements = doc.DocumentNode.SelectNodes("//select");
// loop through each select element and get its values
foreach (var select in selectElements)
{
var values = select.Descendants("option")
.Where(o => !string.IsNullOrEmpty(o.GetAttributeValue("value", null)))
.Select(o => o.GetAttributeValue("value", null))
.ToList();
// do something with the values, e.g. add to a list
//List<string> allValues = new List<string>();
//allValues.AddRange(values);
}
In this code, we first load the HTML document using HtmlDocument
class. Then we select all the select elements using SelectNodes
method and XPath expression '//select'
. Next, we loop through each select element and get its values using Descendants
method to find all its child option
elements, Where
method to filter out the options without value
attribute, Select
method to extract the value
attribute value, and ToList
method to create a list of values. Finally, we can add the values to a list or do something else with it.