// Get the FileStream position here . The File stream position would be 100%
XmlReader xmlReader = XmlReader.Create(strmFile, settings) will take the entire file stream to its memory.
As proof close the file stream here.
using (XmlReader xmlReader = XmlReader.Create(strmFile, settings))
{
strmFile.close();
Your reader can still proceed.
Improved Answer
------------------------
To get Line Number and Line Position
IXmlLineInfo LineInfo;
using (FileStream strmFile = new FileStream("some file name"))
{
using (XmlReader xmlReader = XmlReader.Create(strmFile))
{
LineInfo = (IXmlLineInfo)xmlReader;
while (xmlReader.Read())
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
MessageBox.Show(LineInfo.LineNumber.ToString());
MessageBox.Show(LineInfo.LinePosition.ToString());
break;
}
}
}
}