Charger le fichier XML dans le Contrôleur MVC

Je suis en train de charger un document XML en MVC dans le "HomeController"

Je veux ce document à charger dans tout sous le répertoire /Home/ont donc ma classe:

public HomeController()
        {  }

Et à l'intérieur j'ai le code que je veux me connecter à l'XML avec:

//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;
        }

Structure du XML:

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

Je n'arrive pas à le localiser theXML fichier, reçois un "ensemble de l'Objet de référence null" erreur

  • Quelle est la cause de la valeur null réf exception? Si xmldoc.La charge n'arrivais pas à trouver le fichier que vous voulez obtenir une sorte de IO exception non null réf.
  • peut-être que le Chemin n'est pas correct. xmldoc.Charge(HttpContext.Serveur.MapPath("~/Content/settings.xml"));
  • Détails De L'Exception: System.NullReferenceException: la référence d'Objet n'est pas définie à une instance d'un objet. Source de l'Erreur: Ligne 29: //Maintenant mis en place la configuration xml lire en Ligne 30: XmlDocument xmldoc = new XmlDocument(); Ligne 31: xmldoc.La Charge Du Serveur.MapPath("~/Content/settings.xml"));
  • l'utilisation du débogueur, essayer de trouver ce qui est null. Si nécessaire, refactoriser le code pour utiliser une variable comme ceci : var filePath = HttpContext.Server.MapPath("~/Content/settings.xml"); xmldoc.Load(filePath); afin de vérifier si le fichier est trouvé, également, la ligne le 29 ?
  • Pour une raison quelconque, httpContext est nulle lorsque je l'inspecter. ligne 29 est juste un commentaire. "//Maintenant mis en place la configuration xml lire"