Загрузить XML в контроллер MVC - PullRequest
2 голосов
/ 09 сентября 2011

Я пытаюсь загрузить XML-документ в MVC в "HomeController"

Я хочу, чтобы этот документ загружался во все в каталоге / Home /, поэтому мой класс:

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файл, постоянно получаю сообщение об ошибке "Object set to null reference"

Ответы [ 2 ]

5 голосов
/ 10 сентября 2011

Вместо

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

попробуйте только

xmldoc.Load(Server.MapPath("~/Content/settings.xml"));
1 голос
/ 09 сентября 2011

Если это веб-приложение, вы получаете что-то вроде http://yoursite/Content/settings.xml. Проверьте, существует ли этот путь к файлу на веб-сервере.Если это приложение WinForms, используйте переменные ExecutionPath или Environment, чтобы получить нужный путь.

Вам также следует использовать что-то вроде if(File.Exists(yourFilePathHere))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...