Parcourir et ajouter à un fichier xml en C#
Fermé
le coin-coin
Messages postés
66
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2014
-
31 oct. 2008 à 10:42
le coin-coin Messages postés 66 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 novembre 2014 - 31 oct. 2008 à 12:58
le coin-coin Messages postés 66 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 novembre 2014 - 31 oct. 2008 à 12:58
A voir également:
- Parcourir et ajouter à un fichier xml en C#
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
Elx
Messages postés
11
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
31 octobre 2008
71
31 oct. 2008 à 11:35
31 oct. 2008 à 11:35
Salut
Les premières lignes de ton code sont exactes.
Voici ma méthode
1. Création et chargement du document xml
System.Xml.XmlDocument pDoc=new System.Xml.XmlDocument();
pDoc.load(Application.StartupPath + "Taches.xml");
2. Lecture du nœud de niveau 1: Taches
Dans ton document ce noeud est le premier, tu peux le récupérer avec la fonction:
System.Xml.XmlNode curNode=pDoc.DocumentElement;
3. Lecture des nœuds enfants
le nœud tache est enfant de <Taches> tu peux le récupérer avec le fonction SelectSingleNode:
System.Xml.XmlNode nextNode=curNode.SelectSingleNode("Tache");
4. Lecture d'une donnée du nœud: fonction innerText
On se connecte sur le noeud numero:
curNode=nextNode;
nextNode=curNode.SelectSingleNode("numero");
On lit la donnée avec la fonction innerText:
string data=nextNode.InnerText;
Je te post la suite...
Elx
http://www.artweweb.com/
Les premières lignes de ton code sont exactes.
Voici ma méthode
1. Création et chargement du document xml
System.Xml.XmlDocument pDoc=new System.Xml.XmlDocument();
pDoc.load(Application.StartupPath + "Taches.xml");
2. Lecture du nœud de niveau 1: Taches
Dans ton document ce noeud est le premier, tu peux le récupérer avec la fonction:
System.Xml.XmlNode curNode=pDoc.DocumentElement;
3. Lecture des nœuds enfants
le nœud tache est enfant de <Taches> tu peux le récupérer avec le fonction SelectSingleNode:
System.Xml.XmlNode nextNode=curNode.SelectSingleNode("Tache");
4. Lecture d'une donnée du nœud: fonction innerText
On se connecte sur le noeud numero:
curNode=nextNode;
nextNode=curNode.SelectSingleNode("numero");
On lit la donnée avec la fonction innerText:
string data=nextNode.InnerText;
Je te post la suite...
Elx
http://www.artweweb.com/
Elx
Messages postés
11
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
31 octobre 2008
71
31 oct. 2008 à 11:52
31 oct. 2008 à 11:52
Ajouter un noeud au fichier xml
1. Création du noeud: CreateNode
La création d'un noeud se fait à partir de la variable System.Xml.XmlDocument
System.Xml.XmlDocument pDoc;
System.Xml.XmlNode newNode=pDoc.CreateNode(System.Xml.XmlNodeType.Element,NodeName,"");
pour créer un nouveau noeud "tache" il faut donc écrire:
System.Xml.XmlNode newNode=pDoc.CreateNode(System.Xml.XmlNodeType.Element,NodeName,"Tache");
2. Relier le nœud au nœud parent: AppendChild
Avec la fonction SelectSingleNode on récupère le noeud parent
System.Xml.XmlNode nextNode=curNode.SelectSingleNode("Tache");
La fonction AppendChild permet de rajouter un noeud enfant
nextNode.AppendChild(newNode)
3. Sauvegarde: Save
On sauvegarde le nouveau fichier avec la fonction System.Xml.XmlDocument.Save:
pDoc.Save("NomDuFichier.xml")
Elx
http://www.artweweb.com/
1. Création du noeud: CreateNode
La création d'un noeud se fait à partir de la variable System.Xml.XmlDocument
System.Xml.XmlDocument pDoc;
System.Xml.XmlNode newNode=pDoc.CreateNode(System.Xml.XmlNodeType.Element,NodeName,"");
pour créer un nouveau noeud "tache" il faut donc écrire:
System.Xml.XmlNode newNode=pDoc.CreateNode(System.Xml.XmlNodeType.Element,NodeName,"Tache");
2. Relier le nœud au nœud parent: AppendChild
Avec la fonction SelectSingleNode on récupère le noeud parent
System.Xml.XmlNode nextNode=curNode.SelectSingleNode("Tache");
La fonction AppendChild permet de rajouter un noeud enfant
nextNode.AppendChild(newNode)
3. Sauvegarde: Save
On sauvegarde le nouveau fichier avec la fonction System.Xml.XmlDocument.Save:
pDoc.Save("NomDuFichier.xml")
Elx
http://www.artweweb.com/
Elx
Messages postés
11
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
31 octobre 2008
71
31 oct. 2008 à 12:06
31 oct. 2008 à 12:06
Alternative pour la paramètre numéro
Je pense qu'il est préférable de placer le numéro de la tache dans un attribut de la balise:
<tache numero="1">
<titre>titre</titre>
<texte>texte</texte>
<date>30/10/08</date>
<heure>14h25</heure>
</tache>
<tache numero="2">
<titre>titre</titre>
<texte>texte</texte>
<date>30/10/08</date>
<heure>14h25</heure>
</tache>
Lorsque que tu crées la noeud tache, tu peux ajouter un attribut avec la fonction SetAttribute.
Pour la création du noeud, on peut utiliser la fonction CreateElement
Le code de création du noeud tache numéro 1 devient donc:
System.Xml.XmlDocument pDoc;
System.Xml.XmlNode newNode=pDoc.CreateElement("tache");
newNode.SetAttribute("numero","1");
Pour récupérer la valeur de l'attribut, tu peux utiliser la fonction GetAttribute:
string attribute=curNode.GetAttribute("numero");
Elx
http://www.artweweb.com/
Je pense qu'il est préférable de placer le numéro de la tache dans un attribut de la balise:
<tache numero="1">
<titre>titre</titre>
<texte>texte</texte>
<date>30/10/08</date>
<heure>14h25</heure>
</tache>
<tache numero="2">
<titre>titre</titre>
<texte>texte</texte>
<date>30/10/08</date>
<heure>14h25</heure>
</tache>
Lorsque que tu crées la noeud tache, tu peux ajouter un attribut avec la fonction SetAttribute.
Pour la création du noeud, on peut utiliser la fonction CreateElement
Le code de création du noeud tache numéro 1 devient donc:
System.Xml.XmlDocument pDoc;
System.Xml.XmlNode newNode=pDoc.CreateElement("tache");
newNode.SetAttribute("numero","1");
Pour récupérer la valeur de l'attribut, tu peux utiliser la fonction GetAttribute:
string attribute=curNode.GetAttribute("numero");
Elx
http://www.artweweb.com/
le coin-coin
Messages postés
66
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2014
7
31 oct. 2008 à 12:58
31 oct. 2008 à 12:58
Merci pour ces infos elles me seront très utiles!
Quelle boucle dois-je utiliser pour parcourir mon fichier xml? Avec quelle condition de sortie? Et enfin, comment afficher les données du document dans un ListView?
Merci de votre aide!
Quelle boucle dois-je utiliser pour parcourir mon fichier xml? Avec quelle condition de sortie? Et enfin, comment afficher les données du document dans un ListView?
Merci de votre aide!