Search code examples
c#.netxmltextreader

XmlTextReader - Does it lock the file?


This is probably a really simple thing, but I haven't been able to find it, and I'm probably just searching for the wrong thing...

XmlTextReader --> Does it lock the file you're reading? I'm using reader.Read() and that's about it.


Solution

  • When you create a new XmlTextReader providing a string, it will lock the file with a write lock (but not a read lock); however, if you provide it a Stream, it would depend on the stream itself.

    FileStream stream = new FileStream(@"myfile.xml", FileMode.Open,
                                FileAccess.Read, FileShare.ReadWrite);
    XmlTextReader reader = new XmlTextReader(stream);
    

    You can now read without having a lock.