重置StringReader的位置

时间:2009-03-11 09:59:49

标签: xml .net

 StringReader rdr = new StringReader(finalXML);

 //Reader is a property which returns XmlTextReader
 Reader = new XmlTextReader(rdr); 
 XmlReader reader = XmlReader.Create(rdr, settings); 

最后一行因缺少根元素而抛出异常,因为它位于流的末尾 _pos值表示我之前已将其分配给第2行中的属性时已读取所有字符。
有没有人知道如何重置StringReader?

2 个答案:

答案 0 :(得分:3)

基本上,你没有。只需创建一个新的......“读者”通常只是单向的。在某些方面,具有消费的可设置“读者”属性令读者感到困惑。也许有Read(...)Load(...)方法?很明显,它有副作用......

答案 1 :(得分:0)

作为最佳实践,您应该使用静态XmlReader.Create()方法,该方法使用工厂模式而不是构造函数“new XmlTextReader(...)”