asp.net 擷取銀行貨幣匯率的代碼

來源:互聯網
上載者:User
class ExchangeRate { private const string _BASEURL = "網頁地址"; public const string CURRENCYCODE = "貨幣類型以'|'隔開";//貨幣類型 public Hashtable GetValues() { Hashtable htReturn = new Hashtable(); string url = _BASEURL; //+ HttpUtility.UrlEncode(tmSet.ToString("yyyy/MM/dd", DateTimeFormatInfo.InvariantInfo)); WebClient wc = new WebClient(); string sHtml = wc.DownloadString(url); string sXml = string.Empty; int iValueCnt = CURRENCYCODE.Split(new char[] { '|' }, 10, StringSplitOptions.RemoveEmptyEntries).Length; string[] sTBody = sHtml.Split(new string[] { "<tbody>", "</tbody>" }, StringSplitOptions.RemoveEmptyEntries); foreach (string ss in sTBody) { if (ss.Contains("Currency Name")) { string[] sbrs = ss.Split(new string[] { "</tr>" }, StringSplitOptions.RemoveEmptyEntries); foreach (string sbr in sbrs) { string scur = string.Empty; double dRate = GetCurrencyRate(sbr, out scur); if (dRate != 0.0 && !string.IsNullOrEmpty(scur)) { htReturn.Add(scur, dRate * 0.01); if (htReturn.Count >= iValueCnt) break; } } break; } } return htReturn; } private double GetCurrencyRate(string source, out string sCurrency) { sCurrency = string.Empty; string sPattern = @"<td.+?>(.+?)</td>"; foreach (Match m in Regex.Matches(source, sPattern)) { string ss = m.Groups[1].Value; if (IsNumeric(ss)) return double.Parse(ss); else { if (CURRENCYCODE.Contains(ss)) sCurrency = ss.Trim(); else break; } } return 0.0; } public static bool IsNumeric(string str) { if (string.IsNullOrEmpty(str)) return false; System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.|,]?\d*$"); return reg.IsMatch(str); } }
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.