+2  A: 

Try omitting the file:/// protocol prefix. It works for me without one. I believe .NET will truncate any part after the # if it believes this to be a URL. This is only a guess based on the error message but it seems logical considering that the part after the # character isn't processed by the server but rather by the client in other scenarios (e.g. web browsers).

Konrad Rudolph
A: 

Why don't you use

XmlTextReader rdr = new XmlTextReader(fullPath);

MysticSlayer
+3  A: 

Adding to Konrad's answer, if you are using the file:// protocol, you need to use %23 for # then it works fine

Carl