• paip.从HTML select 获取数据


    paip.从HTML select 获取数据

    近日。。有个提现模块,用户需要从SELECT控件选择银行。。可是取到的ID值。后台保存的时候需要保存银行名。。

    SELECT 的HTML如下..

    <SELECT id=Land_Bank
    name=Land_Bank require="true" msg="请选择银行" operator="GreaterThan" to="0" rig="请选择银行"
    dataType="Compare"> <OPTION selected value=0>请选择银行</OPTION> <OPTION
      value=4>中国工商银行</OPTION> <OPTION value=5>中国农业银行</OPTION> <OPTION
      value=12>中国建设银行</OPTION> <OPTION value=6>交通银行</OPTION> <OPTION
      value=9>中国银行</OPTION> <OPTION value=30>中国邮政储蓄银行</OPTION> <OPTION
      value=16>招商银行</OPTION> <OPTION value=33>浦发银行</OPTION> <OPTION
      value=19>中信银行</OPTION> <OPTION value=17>中国民生银行</OPTION> <OPTION
      value=15>兴业银行</OPTION> <OPTION value=13>中国光大银行</OPTION> <OPTION
      value=8>北京银行</OPTION> <OPTION value=21>广州银行</OPTION> <OPTION
      value=31>深圳发展银行</OPTION> <OPTION value=20>广东发展银行</OPTION> <OPTION
      value=22>杭州银行</OPTION> <OPTION value=27>宁波银行</OPTION> <OPTION
      value=25>华夏银行</OPTION> <OPTION value=29>平安银行</OPTION> <OPTION
      value=18>浙商银行</OPTION> <OPTION value=11>渤海银行</OPTION></SELECT>


    如何获取select html中ID对应的值成为一个问题...

    我先是准备用XML获取,但HTML不是很严格,不符合XML的条件。。最终,我的思路是先把HTML转为XML再用XML获取...使用了.NET版的

    HTML解析库using Winista.Text.HtmlParser;


    ------------详细设计(伪码)--------------
    1.保存HTML到/banks.txt
    2. html=read(curdir+"/banks.txt")
    xml=convert(html)
    nodelist=getlistByTagname(xml,"option")
    foreach nodelist
    {
    if(node.value=bankid)
    return node.txt
    }


    -----------------实际代码----------------


     private string getbankname(string bankId)
        {
            string rootdir = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
            string xmldir = rootdir + "/pay/banks.txt";
            string html = m.filex.read(xmldir, "gbk");
            string xmlstr = m.xml.XMLHelper.CovertHtmlToXml(html, "OPTION");
            //     XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument();
            //xmlDoc.LoadXml(xmlstr);
            string bname = getbankname(xmlstr, bankId);
            return bname;
            //return "nothisbank";

        }

        private string getbankname(string xmlstr, string bank)
        {


            XmlDataDocument xmlDoc = new System.Xml.XmlDataDocument();

            xmlDoc.LoadXml(xmlstr);

            XmlNodeList list = xmlDoc.GetElementsByTagName("OPTION");
            foreach (XmlNode node in list)
            {
                string val = node.Attributes["VALUE"].Value;
                string text = node.InnerText;
                if (bank.Equals(val))
                    return text;
            }

            return "nothisbank";

        }

  • 相关阅读:
    正则表达式的与或非
    正则中需要转义的符号
    HTTP 错误状态码讯息
    HTTP协议详解
    TCP/IP、Http、Socket的区别
    CSS样式中标点符号的作用
    HighCharts: 设置时间图x轴的宽度
    可以尝试用Google Font API来摆脱网页字体的单调 仅仅抛砖引玉
    Oracle 权限(grant、revoke)
    网站加上图标
  • 原文地址:https://www.cnblogs.com/attilax/p/15199902.html
Copyright © 2020-2023  润新知