0

使用 XMLReader 在 C# 中解析 XML 时遇到问题。

这是一个例子:

string text = xNode.ReadElementContentAsString().Length > 0 ? xBonusesNode.ReadElementContentAsString() : null;
int nmb = xNode.ReadElementContentAsInt();

所以,在我试图获取字符串值的地方,有一个简单的内联 if 语句来检查元素是否有数据。

我怎样才能用整数做类似的事情?或者如何正确并以最佳方式捕获异常?

4

2 回答 2

1

您可以像这样使用int.TryParse

  int number;
  bool result = Int32.TryParse(xNode.ReadElementContentAsString, out number);
于 2012-10-25T13:33:40.343 回答
1
string text = xNode.ReadElementContentAsString().Length > 0 ? xBonusesNode.ReadElementContentAsString() : null;
Int32.TryParse(text,out myInt);

应该管用。

我不确定 xml 库是否支持可为空的类型(int?),但以上内容应该可以正常工作 - 基本上我将它作为字符串读取,然后尝试解析它。如果 TryParse 失败,myInt 将保持以前的状态(并且 tryParse 返回“false”)

于 2012-10-25T13:33:51.093 回答