/ / XDocument wird mit Umgebungsvariablen geladen - c #, linq-to-xml

XDocument wird mit Umgebungsvariablen geladen - c #, linq-to-xml

Wenn ich versuche, eine XML-Datei mit dem nächsten Code zu laden:

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

Es scheint nicht zu funktionieren, es kann die von mir angegebene spezifische Umgebungsvariable nicht analysieren. Wenn ich diese Variable in den Explorer einfüge, funktioniert sie.

Antworten:

3 für die Antwort № 1

Versuchen Sie es stattdessen:

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

XDocument configuration = XDocument.Load(path);

Dies funktioniert mit mehreren Umgebungsvariablen und vermeidet, dass Sie sie speziell behandeln müssen. Dies bedeutet, dass Sie dieselbe Art von Zeichenfolge verwenden können wie in einer Batchdatei.


3 für die Antwort № 2

Benutzen Environment.GetEnvironmentVariable, dann Pfad.Kombination um den Pfad und den Dateinamen sicher zu kombinieren.

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

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

Derzeit übergeben Sie die Literalzeichenfolge "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml" an die Methode, und der erste Teil steht nicht für eine Umgebungsvariable.