c# - 无法将字符串转换为 int。来自 XML 元素的数据。 C#

标签 c# .net xml parsing int

我遇到了一个不寻常的问题。我有点初学者,但我正在尝试学习如何从 XML 文档中提取信息。我以前做过,没有问题,但我现在遇到了麻烦。这是发生的事情:

我试图提取 latitude来自以下 XML 的值:

<ip2locationapi>
  <countryCode>GB</countryCode> 
  <countryName>United Kingdom</countryName> 
  <region>Wales</region> 
  <city>Cardiff</city> 
  <latitude>51.5</latitude> 
  <longitude>-3.2</longitude> 
</ip2locationapi>

通过使用以下代码:

var latitude = from r in document.Descendants("ip2locationapi")
               select new
               {
                   lati = r.Element("latitude").Value,
               };      

foreach (var item in latitude)
{
    Convert.ToInt32(item.lati);
}

但是这样做给了我一个异常(exception),告诉我我无法转换,因为它的格式错误。

有谁知道我可能做错了什么?

最佳答案

显然 51.5不是整数,而是浮点值。使用 Convert.ToDouble 反而。

关于c# - 无法将字符串转换为 int。来自 XML 元素的数据。 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20006096/

相关文章:

java - jackson 中用于枚举的自定义xml解串器

php - 按原样显示 XML 信息

sql-server - 一列多行 SQL Server

c# - 在我的项目 Xamarin 中实现 INotifyPropertyChanged

c# - 如何将 windows.forms.keys 代码转换为整数

c# - 单元测试从c#中的另一个方法调用的方法

c# - 等效于 Dispatcher.Invoke 或 Dispatcher.RunAsync 的可移植类库

.net - GetReferencedAssemblies不会返回所有程序集

C# 正则表达式不包括一个字符 (!)

c# - 更好的方式来构建我在 View 字段上执行用户权限的方式