/ Завантаження XDocument з змінними середовища - c #, linq-to-xml

Завантаження XDocument з змінними середовища - c #, linq-to-xml

Коли я намагаюся завантажити якийсь XML-файл, з наступним кодом:

XDocument configuration =
XDocument.Load("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");

Це doesn "t шви для роботи, вона не може розібрати конкретну змінну середовища, що я вказав. Коли я вставляю цю змінну в explorer, він працює.

Відповіді:

3 для відповіді № 1

Спробуйте це замість:

string path = Environment.ExpandEnvironmentVariables("%NAME_OF_THE_PATH%/Default_TestRunConfiguration.xml");

XDocument configuration = XDocument.Load(path);

Це буде працювати з кількома змінними середовища, і уникає того, що ви повинні обробляти їх спеціально. Це означає, що ви можете використовувати той же тип рядка, що й у пакетному файлі.


3 для відповіді № 2

Використовуйте Environment.GetEnvironmentVariable, потім Шлях безпечно поєднувати шлях і ім'я файлу.

var dir = Environment.GetEnvironmentVariable("someVariableWithYourPath");

XDocument configuration =
XDocument.Load(Path.Combine(dir, "Default_TestRunConfiguration.xml"));

Наразі ви передаєте метод "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml", і він не знає, що перша частина являє собою змінну середовища.