Je cherche un meilleur em> moyen de corriger un XML (en fait, J'en ai aussi besoin d'un outil de ligne de commande, pour faciliter le déploiement. P>
J'ai pensé à résoudre ce problème de plusieurs manières: p>
La solution ad-hoc est la plus facile, mais je pense que c'est un peu tricher. Je ne connais pas très bien xslt, mais cela ressemble à la meilleure solution ... p>
Quoi, à votre avis, est le "meilleur outil pour le travail?" P> app.config code> fichier). Plus spécifiquement, j'ai besoin d'ajouter quelque chose à la section
éléments pour correspondre aux entrées. P>
3 Réponses :
Dans mon expérience en utilisant XSLT pourrait travailler mais garder à l'esprit que vous souhaitez le maintenir aussi. Il y a un bon outil pour la construction de xslt visuel appelé MapForce J'ai utilisé dans le passé qui pourrait aider. p>
Récemment au travail, je devais faire une tâche similaire - convertir un fichier XML du format A au format B - à l'aide de Linq était la meilleure et la plus facile pourquoi et actuellement facile à entretenir. P>
Donc, ma suggestion est la chose simulte qui fonctionne et opte pour une solution rapide, à moins que vous n'ayez des avantages clairs de l'utilisation de XSLT. P>
Toute langue que vous connaissez bien serait plus rapide qu'une langue que vous ne connaissez pas. En général, en utilisant Linq comme sélecteur, puis apportant des modifications avec des méthodes LINQ / DOM, il sera moins puissant (sémitiquement) que XSLT (de la même manière que la comparaison de XQUERY avec XSLT), ce qui signifie que vous aurez un code LINQ plus complexe que XSLT fiche de style.
@Alejandro - Vous avez raison - mais si les transformations sont assez simples, je ne vois pas le point d'utiliser XSLT lorsque deux lignes de Linq suffiraient
Si vous utilisez XSLT serait une option que vous pourriez utiliser MsBuild pour piloter la transformation sur la ligne de commande.
fichier de configuration app.config strong> p> Cet exemple de xslt copierait tout de votre source app.config et ajoutez un Cet exemple de script de projet MsBuild copiera / sauvegardera votre source. app.config em> et transformez-le avec la feuille de style xslt donné. p>
Wow, c'est extrêmement cool! Je n'ai même jamais pensé à appliquer Msbuild pour ça!
@HMEMCY Je suppose que votre problème consistait à construire votre demande afin que Msbuild soit parfaitement adapté. Vous trouverez de nombreux exemples pour modifier les fichiers de configuration pendant la construction.
Vous pouvez utiliser les utilitaires de ligne de commande XSLT suivants pour les processeurs Microsoft XSLT: P>
msxsl.exe strong> (existe-t-il depuis près de 10 ans). Effectue une transformation à l'aide de MSXML (spécifiant différentes versions est possible). P> LI>
Bonne question, +1. Consultez ma réponse pour des liens vers deux utilitaires de ligne de commande XSLT utilisant des processeurs Microsoft XSLT. Si vous auriez besoin du code XSLT exact, veuillez publier un exemple de document XML et également le résultat exact que vous souhaitez de la transformation.