代码之家  ›  专栏  ›  技术社区  ›  Ben Hughes

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

  •  0
  • Ben Hughes  · 技术社区  · 14 年前

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

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

    XmlTextReader reader = new XmlTextReader("/content/mydoc.xml");
    

    一步一步,我可以看出这是决心 file:///C:/content/mydoc.xml

    我知道我可以用 Server.MapPath()

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   spender    14 年前

    怎么样

    XmlTextReader reader = 
        new XmlTextReader(Url.GenerateContentUrl("~/content/mydoc.xml"));
    

    当然,您需要一个UrlHelper实例来手工完成这项工作(可以作为视图和控制器中的Url字段使用)。

    编辑

    如果我知道文件的位置,我宁愿把它作为一个文件,而不是HTTP的开销。像这样的 MapPath 似乎是个不错的选择。