Naviguer fichier xml avec c#

Résolu
melar Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -  
melar Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

6 réponses

ppmax Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   244
 
et bien tes noeuds tu les as avec
XmlNodeList lstIndex = xmlIndex.GetElementsByTagName("NOEUD");
///parcours:
foreach(XmlNode noeud In XmlNodeList )
{
if...


}
7
ppmax Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   244
 
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
ppmax Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   244
 
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
melar Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
melar Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
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
melar Messages postés 89 Date d'inscription   Statut Membre Dernière intervention   27
 
Merci, ton code marche à la perfection. Je comprends vraiment pas comment j'ai pu passer à côté de ça.
0