Den*_*ger 4 c# xmlreader streamreader
我想重新使用我与.dad()的XML文件关联的StreamReader - 来自System.Xml.XmlReader的调用.
基本上我已经整理了一个小扩展方法,其中包含以下代码:
public static string GetValueByPath(this StreamReader str, string attributeName, params string[] nodes)
{
str.BaseStream.Position = 0;
XmlReader reader = XmlReader.Create(str);
// Stuff happens here now, not important for the question
}
Run Code Online (Sandbox Code Playgroud)
调用此扩展方法的StreamReader在整个Session中保持不变.
第一次这很好用,但如果我第二次使用这个方法,我会收到一个System.Xml-Exception.有没有办法有效地"重置"StreamReader?
谢谢,
丹尼斯
您不能只改变其中的位置BaseStream,因为它StreamReader是从底层流缓冲数据.它只会弄乱它的行为StreamReader,没有任何好处会从它出来.
您应该StreamReader每次都处理旧的并创建一个新的.
| 归档时间: |
|
| 查看次数: |
4766 次 |
| 最近记录: |