string configFilePath = System.Configuration.ConfigurationManager.AppSettings["PATH"].ToString();
XmlDocument doc = new XmlDocument();
XmlTextReader reader = null;
reader = new XmlTextReader(configFilePath);
doc.Load(reader);
reader.Close();
doc.Load(reader)给出以下错误:
The remote server returned an error: (401) Unauthorized.
编辑: 路径为http://localhost/something/mydoc.xml,在IIS用户可以访问的文件系统中,我也试过“每个人完全控制”,但没有任何改变。 我试图将路径放入IExplorer的URL框中,它正确地显示了xml。
答案 0 :(得分:2)
我遇到了同样的问题,经过一番研究后,他提出了一个解决方案 (请参阅here和here)。
在这种情况下,设置XMLURLResolver解决了我的问题
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
XmlReader reader = XmlReader.Create(url);
reader.XmlResolver = resolver;
答案 1 :(得分:0)
如果“PATH”的值试图与任何类型的远程机器连接,则听起来它没有访问权限。因此,如果您的“PATH”值类似于“\ ComputerName \ SharedDirectory \ file.xml”,请确保用户具有“ComputerName”计算机的权限。
答案 2 :(得分:0)
您是否尝试过设置XmlResolver?
http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.xmlresolver.aspx#Y883