无法对xml中的数据执行乘法操作

时间:2012-07-19 10:43:52

标签: c# asp.net xml google-api xmldocument

嗨,我无法将从Google财经API中检索到的数据进行倍增。我知道我现在正在做的事情是错的,所以我想就如何做到这一点及其中的一些例子提出一些建议。

    string url = "http://www.google.com/ig/api?stock=" + Server.UrlEncode(symbol1.Text);
     XmlDocument xdoc = new XmlDocument();
     xdoc.Load(url);
     currentPrice1.Text = GetData(xdoc, "last");
     int quantity = 50;
     int currentPrice = int.Parse(currentPrice1.Text);
     int totalValue = quantity * currentPrice;

GetData方法

private string GetData(XmlDocument doc2, string strElement)
{

    XmlNodeList xnodelist5 = doc2.GetElementsByTagName(strElement);
    XmlNode xnode5 = xnodelist5.Item(0);
    return Get_Attribute_Value(xnode5, "data");

}

错误 ERROR

2 个答案:

答案 0 :(得分:1)

数据属性的值可能是非数字或未指定。使用TryParse方法或使用try..catch .. block包装代码。

 decimal currentPrice;
 if(decimal.TryParse(currentPrice1.Text, out currentPrice))
  {
     //
   }

如果data属性的值为整数,则使用int.TryParse

答案 1 :(得分:0)

查看代码的打印屏幕curentPrice1.Text可能有空或空或某些非数字

所以请做

int currentPrice = 0;

if(!string.IsEmptyOrNull(currentPrice1.Text))
{
   int price = 0;
   if(int.TryParse(currentPrice1.Text, out price))
   {
       currentPrice = price ;
   }
}