如何在调用Read()之前检查XmlReader是否可以读取内容?

时间:2011-11-01 16:41:32

标签: c# .net xml xmlreader

我使用XmlReader读取xml-string,代码为:

  XmlReader reader = XmlReader.Create(new StringReader(xmlString));      
  while (reader.Read())
  {
    // some code
  }

但如果xmlString等于"",那么XmlExceptionreader.Read():找不到根元素。我如何检查XmlReader是否可以在reader.Read()之前阅读内容?

1 个答案:

答案 0 :(得分:7)

  

但是如果xmlString等于“”

嗯,这是无效的XML,所以这是一种特殊的情况,最好抛出异常,而不是继续阅读不是它假装的东西(XML)。因此,您可以简单地捕获此异常并通知用户发生了错误。如果他负责输入字符串,则告诉他输入了无法处理的无效XML。如果是你,请说出一些非常糟糕的事情而道歉。

这就是说XmlReader类需要一个有效的XML作为输入。