Partage
  • Partager sur Facebook
  • Partager sur Twitter

C#: Modification d'un fichier.config

Modification d'un fichier.config

    29 avril 2021 à 15:25:50

    Bonjour,

    Je suis débutant pour C# et j'aurais besoin de votre aide.

    Je suis en cours de développement d'un utilitaire qui serait capable de modifier un fichier.config d'une autre application 

    Voici mon exemple: 

    Nom du fichier : Exemple.exe.config 

    Chemin du fichier C:\MonProjet\Exemple.exe.config 

    Config: 

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>

    <configSections>

    </configSections>

    <AppServicesConfiguration>

    <Services>

    </Services>

    </AppServicesConfiguration>

    <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>

    </startup>

    <appSettings>

    <add key="User" value="Moi"/>

    <add key="Password" value="1234567"/>

    <add key="Database" value="C:\Database"/>

    Dans cette exemple je souhaite modifier la Value de Password par "7654321"

    Voici mon code :

    La variable Path = C:\MonProjet\Exemple.exe.config 

    Code C#:

     XmlDocument Config = new XmlDocument();

                    Config.LoadXml(Path);

                    foreach (XmlNode xmlNode in Config.DocumentElement.GetElementsByTagName("appSettings"))

                    {

                        if (xmlNode.SelectSingleNode("add").Attributes["Value"].Value == "1234567")

                        {

                            xmlNode.Attributes["Value"].Value = "7654321";

                        }

                    }

    Mais en faisant comme cela mon fichier ne ce modifie pas 

    J'ai une erreur : données non valides au niveau racine. ligne 1 position 1

    J'ai également essayé le même code avec un Config.Load(Path)

    Mais j'ai également une erreur : la reference d'objet n'est pas definie a une instance d un objet

    Comme dit au dessus je suis débutant si il y a une autre façon de faire je suis preneur 

    Je vous remercie d'avance pour votre aide 

    -
    Edité par ThomasRenier3 29 avril 2021 à 15:32:34

    • Partager sur Facebook
    • Partager sur Twitter
      29 avril 2021 à 15:36:35

      C'est très mauvais d'avoir un mot de passe dans un fichier de configuration.

      On n'a pas accès aux images que vous avez posté, utilisez plutôt le bouton [</>] pour poster du code.

      Pouvez-vous exposer votre problème initial, qui vous pousse à avoir un mot de passe dans un fichier de configuration, plutôt que de laisser les mécanismes d'authentification intégré à l'OS faire leur travail ?

      EDIT : Avec les ajouts, c'est plus clair, mais pensez toujours au bouton [</>] pour le code ou l'XML.

      Votre code ne fait que modifier les données en mémoire, il faut utiliser la méthode "Save" pour sauvegarder les données dans un fichier.

      https://docs.microsoft.com/fr-fr/dotnet/api/system.xml.xmldocument.save?view=net-5.0

      -
      Edité par bacelar 29 avril 2021 à 15:51:32

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        29 avril 2021 à 15:52:59 - Message modéré pour le motif suivant : Merci d'utiliser le bouton code du forum pour insérer votre code


          29 avril 2021 à 17:57:11

          Bonjour,

          Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
          Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

          Pour plus d'informations, nous vous invitons à lire les règles générales du forum

          Merci de colorer votre code à l'aide du bouton Code

          Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: vb;">Votre code ici</pre>.

          Merci de modifier votre message d'origine en fonction.

          Liens conseillés

          • Partager sur Facebook
          • Partager sur Twitter

          C#: Modification d'un fichier.config

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown