在 HtmlAgilityPack 中获取特定选项?

Get a specific option in HtmlAgilityPack?

是否可以通过 HtmlAgilityPack 获取特定选项?例如我有一个 select 这样的:

<select id="foo">
   <option value="0">1</option>
   <option value="1" selected="selected">2</option> 
</selected>

我需要通过 selected 获取选项。我知道如何通过以下方式获得选项:

doc.DocumentNode.SelectNodes("//select[@id='foo']//option");

这应该有效:

doc.DocumentNode.SelectNodes("//select[@id='foo']/option[@selected='selected']");

您可以阅读有关 xpath 的更多信息here

doc.DocumentNode.SelectSingleNode("//Select[@id='foo']//*[@selected='selected']");

这应该可行,但它通过尝试获取它在具有 select 的 select 标签内的任何深度找到的任何标签类型的第一个节点来获得它的更广泛的诞生selected 值的属性。

如果 html 看起来像这样

<option value="1" selected>2</option> 

应该是这样的

doc.DocumentNode.SelectSingleNode("//Select[@id='foo']//*[@selected='']");