首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从<SELECT> <OPTION>获取值

如何从<SELECT> <OPTION>获取值
EN

Stack Overflow用户
提问于 2015-05-12 05:26:27
回答 1查看 1.8K关注 0票数 0

我正在尝试从<select><option>元素中获取一些元素。

这是我的代码:

代码语言:javascript
复制
for(int td = 1; td <= 1; td++)
{
    using (WebClient wc = new WebClient())
    {
        string pagina = wc.DownloadString("http://www.serebii.net/attackdex-xy/");
        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(pagina);

        string attacco;
        //var prova = doc.DocumentNode.SelectSingleNode("/html/body/table[2]/tr[2]/td[2]/div[2]/table/tr/td[1]/form/select/option");

        foreach (HtmlNode node in doc.DocumentNode.SelectNodes(String.Format("/html/body/table[2]/tr[2]/td[2]/font/div[2]/table/tr/td[{0}]/select/option", td)))
        {
            attacco = node.NextSibling.InnerText;

            if(attacco != "AttackDex: A - G\n" && attacco != "AttackDex: H - R\n" && attacco != "AttackDex: S - Z\n")
            {
                var url = string.Format("http://www.serebii.net/attackdex-xy/{0}.shtml", attacco.ToLower().Replace(" ", ""));
                string attackPage = wc.DownloadString(url);
                HtmlDocument doc2 = new HtmlDocument();
                doc2.LoadHtml(attackPage);

                var category = doc.DocumentNode.SelectSingleNode("/html/body/table[2]/tr[2]/td[2]");
            }
        }
    }
}

这是html页面的代码:

代码语言:javascript
复制
<select name="SelectURL" onchange="document.location.href=document.nav.SelectURL.options[document.nav.SelectURL.selectedIndex].value" style="color:#383838; font-size: 8pt; background:#CEBC77" size="1">
 <option>AttackDex: A - G
</option><option value="/attackdex-xy/absorb.shtml">Absorb</option>
<option value="/attackdex-xy/acid.shtml">Acid</option>
<option value="/attackdex-xy/acidarmor.shtml">Acid Armor</option>
<option value="/attackdex-xy/acidspray.shtml">Acid Spray</option>
<option value="/attackdex-xy/acrobatics.shtml">Acrobatics</option>
<option value="/attackdex-xy/acupressure.shtml">Acupressure</option>
<option value="/attackdex-xy/aerialace.shtml">Aerial Ace</option>
<option value="/attackdex-xy/aeroblast.shtml">Aeroblast</option>
[...]

当我运行程序时,node的值(在foreach块中)是空的。

EN

回答 1

Stack Overflow用户

发布于 2015-05-12 05:58:20

我选择了文档中的所有选项,然后只过滤出那些拥有祖先select标签且名称为'SelectURL‘的选项,从而使其正常工作。

代码语言:javascript
复制
doc.DocumentNode.SelectNodes("//option[ancestor::select[@name='SelectURL']]")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30177924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档