在MVC控制器中加载XML

本文关键字:加载 XML 控制器 MVC | 更新日期: 2023-09-27 18:07:58

我试图在"HomeController"中加载MVC中的XML文档

我想把这个文档加载到/Home/目录下的所有文件中所以我输入class:

public HomeController()
        {  }

里面是我想连接到XML的代码

//Now set up the config xml read
        XmlDocument xmldoc = new XmlDocument();
        xmldoc.Load(HttpContext.Server.MapPath("~/Content/settings.xml"));
        XmlNodeList settings = xmldoc.SelectNodes("/settings");
        XmlNodeList defaults = xmldoc.GetElementsByTagName("default");
        foreach (XmlNode node in defaults)
        {
            string def_WebPageName = node["WebPageName "].InnerText;
        }

XML结构:

<settings>
<defaults>
  <WebPageName>blah</WebPageName>
</defaults>

我似乎找不到xml文件,不断得到一个"对象设置为空引用"错误

在MVC控制器中加载XML

代替

xmldoc.Load(HttpContext.Server.MapPath("~/Content/settings.xml"));

try with only

xmldoc.Load(Server.MapPath("~/Content/settings.xml"));

如果它是一个Web应用程序,你得到类似http://yoursite/Content/settings.xml的东西。检查web服务器上是否存在该文件路径。如果它是一个WinForms应用程序,使用ExecutionPath或Environment变量来获得你需要的路径。

你也应该使用if(File.Exists(yourFilePathHere))