zoukankan      html  css  js  c++  java
  • 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";

        }

  • 相关阅读:
    关于selenium无法在chrome中自动播放flash的问题
    网鼎杯题目“phone”--十六进制mysql注入
    (转)宽字节编码类型的XSS
    为什么在留言处插入<script>alert(1)</script>不弹框
    同源策略和跨域的理解
    (转)调皮的location.href
    (转)GET来的漏洞
    WEB应用安全设计思想.pdf
    Browser Security-超文本标记语言(HTML)
    大家来聊聊如何PASS 360
  • 原文地址:https://www.cnblogs.com/attilax/p/15199902.html
Copyright © 2011-2022 走看看