代码之家  ›  专栏  ›  技术社区  ›  John Parker

以编程方式访问~/content目录?

  •  1
  • John Parker  · 技术社区  · 15 年前

    我怀疑我对这个问题的措词可能不正确(我在微软空间做过任何事情已经有一段时间了),但下面是。

    本质上,我试图通过~/content目录以编程方式访问XML文档。我试着沿着__

    XElement resourceConfigXML = XElement.Load(@"~/Content/resource_configuration.xml");
    

    …但这显然是不正确的,因为字符串没有转换成操作系统能够理解的路径。因此,是否有任何方法可以在运行时派生到此目录的物理路径?

    顺便说一句,如果这是一个注定要失败的幼稚想法/对内容目录的目的的一个奇怪的误解,请随时让我知道在我的辩护中,我M只与.NET(感谢MVC的味道)打交道。

    3 回复  |  直到 15 年前
        1
  •  3
  •   Li0liQ    15 年前

    试用使用 Server.MapPath

    XElement resourceConfigXML = XElement.Load(Server.MapPath(@"~/Content/resource_configuration.xml"));  
    
        2
  •  1
  •   Tim Ebenezer    15 年前

    您要将此更改为:

    XElement.Load(Server.MapPath("~/Content/file.xml"))
    
        3
  •  0
  •   Cyril Gupta    15 年前

    如果要引用域而不是计算机路径,则另一种方法

    XElement.Load(VirtualPathUtility.ToAbsolute("~/Content/file.xml"));