C#正则表达式获取下拉菜单(select)的相关属性值

   2015-09-03 0
核心提示:这篇文章主要介绍了C#正则表达式获取下拉菜单(select)的相关属性值,比如可以获得name属性的值、value值、指定值,需要的朋友可以参考下

给几个在C#中,使用正则表达式取页面下拉菜单(select)中的值示例:

复制代码 代码如下:

//取html中全部 select 的 name
Regex reg_name = new Regex(@"(<=<select name=\"").*(=\"")");

//取html中全部<select>项的值
Regex reg_select = new Regex("(is)<select name=*.*>]*.*</select>");

//取html中一个 select name 等于"Status"的值
Regex status = new Regex(@"(is)<select name=\""status\"">]*.*</select>");


 

一下是一段完整的代码和方法,取html中一个下拉菜单 select name 等于”Status”的中值,添加到DropDownList中:

复制代码 代码如下:

string strDoc = (你的html);

//取html中一个下拉菜单 select name 等于"Status"的中值
Regex status = new Regex(@"(is)<select name=\""status\"">]*.*</select>");
MatchCollection mc_status = status.Matches(strDoc);
getSelectOptions(mc_status, cmbStatus);

/// <summary>
/// 取select对列表复制
/// </summary>
/// <param name="selected"></param>
/// <param name="cmb"></param>
void getSelectOptions(MatchCollection selected, ComboBox cmb)
{
    if (selected.Count < 1)
        return;
    txtValues.Text = "";
    txtValues.Text = selected[0].Value.Replace("</option>", Environment.NewLine);
    string tmpTxt = "";
    foreach (string s in txtValues.Lines)
    {
        if (s == "")
            continue;
        string a = "";
        a = s.Replace("\"", "").Replace("<option value=\"", "");
        int x = a.LastIndexOf(">");
        tmpTxt += a.Substring(x + 1) + Environment.NewLine;
    }
    txtValues.Text = tmpTxt.Trim();
    cmb.Items.Clear();
    cmb.Items.AddRange(txtValues.Lines);
    cmb.SelectedIndex = 0;
    cmb.Size = cmb.PreferredSize;
}

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行