将内容读取为空XML元素的整数

时间:2012-10-25 13:31:07

标签: c# xml xml-parsing

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

以下是一个例子:

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

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

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

2 个答案:

答案 0 :(得分:1)

您可以像这样使用int.TryParse

  int number;
  bool result = Int32.TryParse(xNode.ReadElementContentAsString, out number);

答案 1 :(得分:1)

string text = xNode.ReadElementContentAsString().Length > 0 ? xBonusesNode.ReadElementContentAsString() : null;
Int32.TryParse(text,out myInt);

应该工作。

我不确定xml库是否支持可空类型(int?)但是上面应该仍然可以工作 - 基本上我是把它作为字符串读取然后尝试解析它。如果TryParse失败,myInt将保持原样(并且tryParse返回'false')