Naviguer fichier xml avec c#

Résolu
Bonjour,
j'essaie de pouvoir insérer des données dans un fichier xml mais à l'endroit où je le désire.
Cependant, ça ne fonctionne pas.
Voici mon code:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"c:\fichiertype.xml");

XmlElement elmtEnfant = xmlDoc.CreateElement("ElementEnfant");
elmtEnfant.InnerText = "Valeur";

xmlDoc.InsertAfter(elmtEnfant,xmlDoc.SelectSingleNode("/compilation/mp3/titre").NextSibling);

Donc ce code est censé inséré un noeud <ElementEnfant>Valeur</ElementEnfant> après le noeud <titre>
Seulement, j'ai une erreur: "Le noeud de référence n'est pas un enfant de ce noeud".

Pourquoi cet erreur ?
Si vous avez d'autres propositions pour naviguer dans un fichier xml (mettre les données où l'ont veut, merci de me le faire savoir.
Configuration: Windows XP
Firefox 2.0.0.12

6 réponses

  1. et bien tes noeuds tu les as avec
    XmlNodeList lstIndex = xmlIndex.GetElementsByTagName("NOEUD");
    ///parcours:
    foreach(XmlNode noeud In XmlNodeList )
    {
    if...

    }
    7
    1. euh pourquoi je peux pas en récupérer la valeur, j'ai tout ce qu'il me faut :
      if (noeud.Name == "NOEUD" && noeud.Attributes["NAME"].Value == "nomdemonnoeud")
      {
      noeud.AppendChild(nouveaunoeud);
      }
      6
      1. salut, je ne fais pas comme ça pour naviguer dans mon fichier xml
        je cherche d'abord les noeuds pouvant correspondre avec :
        XmlNodeList lstIndex = xmlIndex.GetElementsByTagName("NOEUD");
        ensuite je test les noeuds qu'il m'a renvoyer
        et si c'est le bon, je fais un
        noeud.AppendChild(nouveaunoeud);
        0
        1. Euh...je capte pas trop.
          Comment fais tu référence au noeud que tu as recherché lorsque tu ajoutes ?
          Comment fait tu le test étant donné que tu ne peux pas en récupérer la valeur ?

          Un autre truc qui m'a soulé, c'est que j'arrive a récupérer le nom des noeuds, mais jamais leur valeur.
          0
          1. Nan mais t'es bien d'accord avec moi que pour faire ton "if", il faut d'abord pouvoir parcourir tout les noeuds ?
            C'est ça que je cherche.
            0
            1. Merci, ton code marche à la perfection. Je comprends vraiment pas comment j'ai pu passer à côté de ça.
              0