/ / XDocument charge avec des variables d'environnement - c #, linq-to-xml

Charge XDocument avec des variables d'environnement - c #, linq-to-xml

Quand j'essaye de charger un fichier XML, avec le code suivant:

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

Cela ne semble pas fonctionner, il ne peut pas analyser la variable d’environnement spécifique que j’ai spécifiée. Lorsque je colle cette variable dans l’explorateur, cela fonctionne. Comment puis-je faire en sorte que cela fonctionne?

Réponses:

3 pour la réponse № 1

Essayez plutôt ceci:

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

XDocument configuration = XDocument.Load(path);

Cela fonctionnera avec plusieurs variables d'environnement et vous évitera de les manipuler spécialement. Cela signifie que vous pouvez utiliser le même type de chaîne que dans un fichier de commandes.


3 pour la réponse № 2

Utilisation Environment.GetEnvironmentVariable, puis Path.Combine pour combiner en toute sécurité le chemin et le nom du fichier.

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

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

Actuellement, vous transmettez à la méthode la chaîne littérale "% NAME_OF_THE_PATH% / Default_TestRunConfiguration.xml", qui ne sait pas que la première partie représente une variable d'environnement.