J'utilise msbuild et Msbuild Community Tasks (à l'aide de xmlupdate et xmlmassupdate ) pour mettre à jour divers sections de mon web.config une chose a soulevé cependant. Si j'ai: et j'essaie de remplacer le nom de fichier code> de la cible code> p> p pré> xxx pré > Il rapporte comme étant incapable de trouver quoi que ce soit à la mise à jour, ma question est donc de savoir comment puis-je obtenir l'attribut nom de fichier à mises à jour? p> update strong>: la réponse postée déclarant que l'espace de nom ne fonctionne pas. P> < / p>
3 Réponses :
ici indique l'exigence d'un espace de noms < Pré> xxx pré>
Pouvez-vous mettre à jour tout autre attribut? p> p>
Ceci est utile mais ne résout pas le problème à la main, j'ai d'autres tâches xmlupdate qui ne déclarent pas l'espace de noms, mais la mise à jour correctement
Le premier problème est que le XPath est incorrect pour mettre à jour l'attribut, il recherche actuellement des nœuds "cible" avec un attribut appelé "nom de fichier" plutôt que "nom de fichier" du nœud A appelé "cible".
Le XPath que vous voulez est: / Configuration / Nlog / Cible / Target / @ FileName P>
As comme pour le problème de l'espace de noms, Preet Sangha a la bonne réponse à ce , vous devez utiliser le préfixe de l'espace de noms, ce qui doit également être appliqué à chaque sous-élément, car ils sont tous Dans cet espace de noms. p>
L'instruction finale étant: p>
Pour compléter la réponse donnée par Keeperofthesoul (Je pense que vous devriez lui donner la Bounty BTW) EM> Jetez un oeil à: Ici, j'utilise % 24 code> pour écrire le caractère spécial
$ code>. p > p>