IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Mobile .NET Discussion :

[CF][C#/VS2003]Comment utiliser format de persistance Xml? [Débutant(e)]


Sujet :

Windows Mobile .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut [CF][C#/VS2003]Comment utiliser format de persistance Xml?
    Bonjour, Voilà dans une appli pour pocket PC, j'ai un formulaire. Je dois pouvoir garder les données de ce formulaire afin de les manipuler. Le format de persistance est le XML. Peut-on n'utiliser que le xml tout en pouvant manipuler les données par la suite (Recherche, affichage, ajout de données, suppression et modification).
    Merci d'avance

    PS j'utilise C# et VS.net2003

  2. #2
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut Re: [debutant]Dotnet et Xml
    Citation Envoyé par Dobyan08
    Bonjour, Voilà dans une appli pour pocket PC, j'ai un formulaire. Je dois pouvoir garder les données de ce formulaire afin de les manipuler. Le format de persistance est le XML. Peut-on n'utiliser que le xml tout en pouvant manipuler les données par la suite (Recherche, affichage, ajout de données, suppression et modification).
    Merci d'avance

    PS j'utilise C# et VS.net2003
    oui tu peux le faire mais le mieux dans ton cas est d'utiliser une base de données comme sql ce.

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Merci, mais le problème est le suivant je suis en TP et je dois donc suivre le sujet qui est le suivant
    "L’application doit être utilisable depuis un Pocket PC. Elle devra être codée en .net avec comme langage support C# ou VB.net. Le support de persistance à utiliser pour stocker les données sera un fichier xml"
    Sinon c'est vrai que l'utilisation d'une base de données serait plus facile et plus accessible pour moi. Sinon pour l'utilisation de XML pur, faut-il utiliser XmlDocument?

  4. #4
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    Citation Envoyé par Dobyan08
    Merci, mais le problème est le suivant je suis en TP et je dois donc suivre le sujet qui est le suivant
    "L’application doit être utilisable depuis un Pocket PC. Elle devra être codée en .net avec comme langage support C# ou VB.net. Le support de persistance à utiliser pour stocker les données sera un fichier xml"
    Sinon c'est vrai que l'utilisation d'une base de données serait plus facile et plus accessible pour moi. Sinon pour l'utilisation de XML pur, faut-il utiliser XmlDocument?
    dans ce cas oui tu peux utiliser XmlDocument. Pour les recherches si tu utilise XPath tu peux aller voir du cote de opennetcf.org

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Je dois utiliser les classes de System.XML. Mais je ne trouve pas d'exemple complet d'une création de fichier xml. Le seul que j'ai trouvé en français est en construction. Si quelqu'un avait un exemple de code ou un lien vers un tutorial complet. Merci beaucoup

  6. #6
    Membre expérimenté
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Points : 1 696
    Points
    1 696
    Par défaut
    Citation Envoyé par Dobyan08
    Je dois utiliser les classes de System.XML. Mais je ne trouve pas d'exemple complet d'une création de fichier xml. Le seul que j'ai trouvé en français est en construction. Si quelqu'un avait un exemple de code ou un lien vers un tutorial complet. Merci beaucoup
    tu as regardé ceci : http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/cpref/html/frlrfsystemxmlxmldocumentclasscreatedocumenttypetopic.asp
    ce t'aide ou pas ?

    @+
    Someday I will be the most powerful Jedi !

    Freddyboy - Blog

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Merci, j'ai donc essayé et planché plusieurs jours dessus
    J'ai ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    	public class CreateGUI : System.Windows.Forms.Form
    	{
    		/.../
    		private System.Windows.Forms.TextBox textBoxName;
    		private System.Windows.Forms.TextBox textBoxPrenom;
    		private string ValeurNom;
    		private string ValeurPrenom;
    		/.../
     
    		private void enregistrerElement()
    		{
    			ValeurNom=textBoxName.Text;
    			ValeurPrenom=textBoxPrenom.Text;
    			/.../
     
    			if((!File.Exists("fichierRDV.xml"))) {
    				XmlDocument document=new XmlDocument();
    				XmlNode docType= document.CreateNode(XmlNodeType.Element,"CarnetRDVModif","");
    				document.AppendChild(docType);
    				document.Save("fichierRDV.xml");
    				MessageBox.Show("Creation OK");
    				}
    			XmlDocument doc=new XmlDocument();
    			doc.Load("fichierRDV.xml");
    			XmlElement root=doc.DocumentElement;
    			string example = root.OuterXml;
    			XmlNode RDV=doc.CreateNode(XmlNodeType.Element,"rendezVous","");
    			root.AppendChild(RDV);
    			XmlNode PERSONNE=doc.CreateNode(XmlNodeType.Element,"Personne","");  //Création d'une personne
    			RDV.AppendChild(PERSONNE);
    			XmlElement NOM=doc.CreateElement("Nom");							// début des éléments de personne
    			NOM.InnerText=ValeurNom;
    			PERSONNE.AppendChild(NOM);
    			XmlElement PRENOM=doc.CreateElement("Prénom");
    			PRENOM.InnerText=ValeurPrenom;
    			PERSONNE.AppendChild(PRENOM);
    			/.../										
     
     
    			doc.Save("fichierRDV.xml");
    		}
     
    		private void buttonOk_Click(object sender, System.EventArgs e)
    		{
    			enregistrerElement();
    		}
    	}
    Ceci est une partie de mon pgrm: je m'explique je tape dans un formule un nom et un prenom (ValeurNom et ValeurPrenom) et je suis sensé les mettre dans un fichier Xml.
    Le pb vient ici: malgré ma fonction aucun fichier xml se créé. Vous avez une idée???

    Merci d'avance

  8. #8
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Bonjour Dobyan08
    je te propose une autre façon d'aborder le souci
    • 1. Quelles sont mes données ? :
      faire une conception POO de celles-ci avec le(s) classes/structures necessaires, offrant ses propre méthodes d'initialisation et de manipulation
      2. Comment gérer mes données dans l'application? :
      utiliser le nombre de DataTables necessaire, regroupées dans un DataSet , le tout étant une representation de ma mini base de données à sérialiser.
      3. Comment sérialiser mes données ? :
      Le DataSet permet nativement son ecriture et son chargement en format xml par ses méthodes .WriteXml (dans un fichier.xml) et ReadXml (à partir d'un fichier .xml). Ainsi plus besoin de s'occuper de former ce fichier à la main
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Merci de ta réponse, j'avais vu cette possibilité (j'avais d'ailleurs commencé par créer mes objets) mais comme ce projet est un TP, il y a un certains nombre de contraintes dont l'utilisation de XmlDocument et la création des noeuds et des éléments. Je pense que avec ces contraintes, la création manuelle est obligatoire.

  10. #10
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Dobyan08
    Merci de ta réponse, j'avais vu cette possibilité (j'avais d'ailleurs commencé par créer mes objets) mais comme ce projet est un TP, il y a un certains nombre de contraintes dont l'utilisation de XmlDocument et la création des noeuds et des éléments. Je pense que avec ces contraintes, la création manuelle est obligatoire.
    Oui pardon tu as raison, je n'avais pas bien perçu tes contraintes

    Donc pour repondre à ceci
    Le pb vient ici: malgré ma fonction aucun fichier xml se créé. Vous avez une idée???
    Attention la méthode Save ne lève pas d' IOException il me semble, en conséquence le premier indice est que le paramètre string que tu passes ici n'est que le nom de fichier alors que la doc te rappelle que
    public virtual void Save(string filename)
    ...
    filename
    Emplacement du fichier où vous souhaitez enregistrer le document.
    Indique le chemin complet donc du fichier pour le retrouver après
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Rebonjour
    Lorsque je met le nom du fichier, le compiltateur considère que c'est dans le répertoire courant (rep bin ou bin/debug dans VS2003).
    Je ne pense donc pas que l'erreur vient de là.

    j'ai tenté de changer quelque trucs et j'ai en gros

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private void enregistrerElement()
    		{
    			ValeurNom=textBoxName.Text;
    			ValeurPrenom=textBoxPrenom.Text;
     
     
    			XmlDocument doc=new XmlDocument();
    			/*if(!(File.Exists("..\\..\\fichierRDV.xml"))) 
    			{
    				doc.AppendChild(doc.CreateElement("Rendez-Vous"));
    				doc.Save("..\\..\\fichierRDV.xml");
    				//doc.LoadXml("<CarnetRdv></CarnetRdv>");
    			} 
    			else {*/
    			doc.Load("..\\..\\fichierRDV.xml");
    			//}
    			XmlElement root=doc.DocumentElement;
    			XmlNode RDV=doc.CreateNode(XmlNodeType.Element,"rendezVous","");
    			root.AppendChild(RDV);
    		XmlElement NOM=doc.CreateElement("Nom");
    		NOM.InnerText=ValeurNom;
    		RDV.AppendChild(NOM);

    J'ai supprimé le test d'exiostance du fichier et je suppose que le fichier existe déja du style
    <Carnet></Carnet>
    J'ai une erreur d'ioexception just'après le load. Même si je l'a récupère ça ne m'avance pas il y blocage. Quelqu'un a une idée???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment se passer de persistence.xml ?
    Par iceman dans le forum JPA
    Réponses: 1
    Dernier message: 08/08/2007, 14h55
  2. [CVS/VS2003] Comment utiliser Tortoise/WinCVS
    Par SoaB dans le forum Visual Studio
    Réponses: 7
    Dernier message: 24/08/2006, 16h14
  3. [VS2003] Comment utiliser au mieux le plugin Bootstrapper ?
    Par Mephyston dans le forum Visual Studio
    Réponses: 2
    Dernier message: 18/08/2006, 16h40
  4. [IDE][VS2003] Comment utiliser la dll IO.Ports 2.0 ?
    Par fremsoi dans le forum Visual Studio
    Réponses: 2
    Dernier message: 26/03/2006, 21h03
  5. Réponses: 4
    Dernier message: 09/02/2006, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo