Posez votre question Signaler

Naviguer fichier xml avec c# [Résolu]

melar 78Messages postés 22 juin 2006Date d'inscription - Dernière réponse le 15 févr. 2008 à 09:29
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.
Lire la suite 

Naviguer fichier xml avec c# »

Suggestions
6 réponses
Réponse
+7
moins plus
et bien tes noeuds tu les as avec
XmlNodeList lstIndex = xmlIndex.GetElementsByTagName("NOEUD");
///parcours:
foreach(XmlNode noeud In XmlNodeList )
{
if...


}
Ajouter un commentaire
Réponse
+6
moins plus
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);
}
Ajouter un commentaire
Réponse
+0
moins plus
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);
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Merci, ton code marche à la perfection. Je comprends vraiment pas comment j'ai pu passer à côté de ça.
Ajouter un commentaire
Ce document intitulé « naviguer fichier xml avec c# » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?