Remplacement de la innertext d'un nœud Xml/élément

Tout d'abord c'est le C#. Je suis entrain de créer un internet de tableau de bord pour un petit groupe de collègues dans le NHS.
Ci-dessous est un exemple de fichier xml dans lequel j'ai besoin de changer la innertext de. J'ai besoin de remplacer un élément spécifique, par exemple "Workshop1." Parce que nous avons quelques ateliers que je ne peut pas se permettre d'utiliser un général, écrivain car il va remplacer toutes les informations sur le document XML avec ce morceau de code ci-dessous.

<?xml version="1.0" ?> 
   <buttons>
      <workshop1>hello</workshop1> 
      <url1>www.google.co.uk</url1> 

Je suis à l'aide d'un commutateur cas à sélectionner un atelier où vous pouvez modifier le nom et ajouter une URL de l'atelier et à l'aide du code ci-dessous va remplacer l'ensemble du document.

public void XMLW()
    {
        XmlTextReader reader = new XmlTextReader("C:\\myXmFile.xml");
        XmlDocument doc = new XmlDocument(); 

        switch (comboBox1.Text)

        {
            case "button1":


                doc.Load(reader); //Assuming reader is your XmlReader 
                doc.SelectSingleNode("buttons/workshop1").InnerText = textBox1.Text;
                reader.Close();
                doc.Save(@"C:\myXmFile.xml");
                break;


        }


    }

Donc, juste pour clarifier, je veux que mon programme C# à rechercher dans le document XML trouver l'élément "Workshop1" et de remplacer les innertext avec le texte de la textBox. et être capable de l'enregistrer sans avoir à remplacer l'ensemble du document avec un nœud. Merci pour regarder.

Est-il une raison pourquoi vous n'utilisez pas la XDocument ou au moins la XmlDocument API? Normalement, vous utilisez uniquement XmlReader / XmlWriter si vous avez à traiter de énorme fichiers XML.
Eh bien, je suis un peu débutant en C#. Si le programme en cours d'exécution je suis bashing ensemble du code et puis quand je le vois de travail je peux changer le code pour le rendre plus efficace. Au moins de cette façon, je peux apprendre la différence entre le laid et propres façons de faire les choses et de comprendre les avantages des deux. Cependant je vous remercie pour vos conseils je vais regarder pour utiliser XMLReader/XMLWriter maintenant.
Mon conseil est de ne PAS utiliser XmlReader / XmlWriter...

OriginalL'auteur Marshal | 2012-02-07