Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用XmlTextReader通过http读取同一服务器上的文件_C#_Xml_Asp.net Mvc 2 - Fatal编程技术网

C# 使用XmlTextReader通过http读取同一服务器上的文件

C# 使用XmlTextReader通过http读取同一服务器上的文件,c#,xml,asp.net-mvc-2,C#,Xml,Asp.net Mvc 2,我肯定我在这里遗漏了一些显而易见的东西 我有一个ASP.NET MVC2应用程序,其XML文档位于/content/mydoc.XML。我正在尝试使用XmlTextReader加载它: XmlTextReader reader = new XmlTextReader("/content/mydoc.xml"); 通过单步执行,我可以看到这被解析为file:///C:/content/mydoc.xml 我知道我可以使用Server.MapPath()来获取文件路径,但考虑到XML文档可以通过h

我肯定我在这里遗漏了一些显而易见的东西

我有一个ASP.NET MVC2应用程序,其XML文档位于/content/mydoc.XML。我正在尝试使用XmlTextReader加载它:

XmlTextReader reader = new XmlTextReader("/content/mydoc.xml");
通过单步执行,我可以看到这被解析为
file:///C:/content/mydoc.xml

我知道我可以使用
Server.MapPath()
来获取文件路径,但考虑到XML文档可以通过http访问,这似乎有点太草率了

有没有办法让XmlTextReader正确解析URL?

怎么样

XmlTextReader reader = 
    new XmlTextReader(Url.GenerateContentUrl("~/content/mydoc.xml"));
当然,您需要一个UrlHelper实例来完成此任务(在视图和控制器中作为Url字段提供)

编辑


如果我知道文件所在的位置,我更愿意将其作为一个文件,而不是HTTP的开销。因此,
MapPath
在这里似乎是个不错的选择。

谢谢。然而,这似乎只是将~/content/mydoc.xml解析回/content/mydoc.xml。我可以使用来自的答案来获取基本URL并构建完整的URL,但对于通过文件系统而不是HTTP访问文件来说,这似乎相当复杂,除非您有特定的理由这样做。伙计们,干杯-这确实更有意义。