我们如何使用<option> text </option> <option> </option> </select> </option>中的文本在<select>中选择<option>的值

时间:2013-03-29 23:04:46

标签: c# xpath html-agility-pack

我们如何使用

中的'text'在<option>中选择<select>的值

<option value="123">text<option>

这是xpath,通过使用这个,我可以检查<select>中是否有一个选项包含'text'

  

string xpath =“// * [contains(@name,   'selectname')] / option [包含(translate(text(),“            +“'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'text')]”;

这是html

<select name="selectname">
<option value="`123`">text</option>
<option value="456">text</option>
</select>

我希望通过使用相同的xpath获取值123,首先检查是否存在包含某些选项的选项,即'text'并获取值'123'。

enter image description here

2 个答案:

答案 0 :(得分:1)

var doc = new HtmlAgilityPack.HtmlDocument();
HtmlAgilityPack.HtmlNode.ElementsFlags.Remove("option");
doc.LoadHtml(html);

var values = doc.DocumentNode.SelectNodes("//select[@name='selectname']/option")
                .Where(o => o.InnerText=="text")
                .Select(o => o.Attributes["value"].Value)
                .ToList();

答案 1 :(得分:0)

使用HTML Agility包,您应该能够使用InnerHTML