KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Samedi 17 mai 2008 - 17:17:07

Naviguer fichier xml avec c#

Rechercher : dans
naviguer fichier xml avec c#
par melar
 Fil de Discussions
Statut : Résolu
jeudi 14 février 2008 à 10:20: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.
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à melar  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ppmax, le jeudi 14 février 2008 à 10:30:21 Fil de Discussions
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);

Plop !
Répondre à ppmax

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melar, le jeudi 14 février 2008 à 10:59:51 Fil de Discussions
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.
Répondre à melar

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Par ppmax, le jeudi 14 février 2008 à 11:31:21 Fil de Discussions
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);
}
Plop !
Répondre à ppmax

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melar, le jeudi 14 février 2008 à 12:36:00 Fil de Discussions
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.
Répondre à melar

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par ppmax, le jeudi 14 février 2008 à 13:27:06 Fil de Discussions
et bien tes noeuds tu les as avec
XmlNodeList lstIndex = xmlIndex.GetElementsByTagName("NOEUD");
///parcours:
foreach(XmlNode noeud In XmlNodeList )
{
if...


}
Plop !
Répondre à ppmax

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par melar, le vendredi 15 février 2008 à 09:29:30 Fil de Discussions 
Merci, ton code marche à la perfection. Je comprends vraiment pas comment j'ai pu passer à côté de ça.
Répondre à melar
Discussions pertinentes trouvées dans le forum
04/10 15h22fichier XML conteant des données OracleProgrammation26/03 18h141
14/02 15h40copier un fichier txt en fichier xml en JAVAProgrammation20/02 12h0731
17/10 10h54[php] Comment parser un fichier xmlProgrammation26/11 22h314
07/07 18h06Comment ecrire un fichier xml en shell?Linux/Unix07/07 19h012
Plus de discussions sur « naviguer fichier xml avec c# » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide