asp.net 获取银行货币汇率的代码_asp.net教程-查字典教程网
asp.net 获取银行货币汇率的代码
asp.net 获取银行货币汇率的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:classExchangeRate{privateconststring_BASEURL="网页地址";publiccon...

复制代码 代码如下:

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);

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类