Загрузить XML с диска в C # - PullRequest
0 голосов
/ 16 июня 2011

Я использую тестовый проект на C #. Я хочу загрузить Xml, который доступен внутри проекта в папке Dump. Я могу сделать

путь строки = "C: \ APP \ FrameworkTest \ TestProject \ Dump \ GetAddressById.xml";

но я не хочу так использовать, потому что, если диск изменится, мой код потерпит неудачу.

в asp.net у нас есть что-то вроде Server.MapPath (). Есть что-то подобное?

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Например:

var dir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var path = Path.Combine(dir, "Dump", "GetAddressById.xml")

Надеюсь, это поможет.

0 голосов
/ 16 июня 2011

Если вы знаете, что папка Dump всегда будет присутствовать в папке развертывания вашего приложения, то вам, конечно, не нужно жестко кодировать полный путь.

Для ASP.net:

var path = System.IO.Path.Combine(Server.MapPath("/"), "Dump",
                             "GetAddressById.xml");

Для C #:

var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Dump", 
                                  "GetAddressById.xml");
...