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

VB.NET Discussion :

Comment enregistrer des donn�es dans un fichier XML existant?


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Femme Profil pro
    D�veloppeur d�cisionnel
    Inscrit en
    Octobre 2005
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 44
    Localisation : Burkina Faso

    Informations professionnelles :
    Activit� : D�veloppeur d�cisionnel
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2
    Par d�faut Comment enregistrer des donn�es dans un fichier XML existant?
    slt! j'ai un probl�me !

    J'ai cr�e un fichier XML et j'aimerai bien y ajouter des donn�es � partir d'un formulaire. (je l'ai cr�e � partir d'un �diteur de texte pas sous VB.NET) avec la structure suivante:

    Code xml : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <parameters>
    	<category type="scenario">
    		<param1 type="integer">100</param1> 
    		<param2 type="integer">250</param2>
    		<param3 type="string">prix</param3>
    	</category>
     
    	<category type="technique">
    		<tech1 type="integer">2006</tech1>
    		<tech2 type="integer">1996</tech2>
    		<tech3 type="decimal">2,5</tech3>
    	</category>
    </parameters>

    J'aimerai bien saisir des donn�es � partir d'un formulaire cr�e sous VB.Net et les enregistrer dans mon fichier XML (et plus tard les charger dans le formulaire).
    Aider moi SVP, je suis d�butant et je ne m'y connais pas du tout !

  2. #2
    Membre � l'essai
    Inscrit en
    Mars 2007
    Messages
    8
    D�tails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Par d�faut
    salut,

    voici par exemple du code pour la lecture des elements selon ta structure

    ne pas oublier d'importer "system.xml"

    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
    Dim voXmlDoc As New XmlDocument
            voXmlDoc.Load("c:\fichier.xml")
     
     
            '<?xml version="1.0" encoding="utf-8" ?>
            '<parameters>
            '  <category type="scenario">
            '    <param1 type="integer">100</param1>
            '    <param2 type="integer">250</param2>
            '    <param3 type="string">prix</param3>
            '  </category>
     
            '  <category type="technique">
            '    <tech1 type="integer">2006</tech1>
            '    <tech2 type="integer">1996</tech2>
            '    <tech3 type="decimal">2,5</tech3>
            '  </category>
            '</parameters>
     
     
            Dim voRacine As XmlElement = voXmlDoc.DocumentElement '(parameters)
     
            ' liste des noeuds "category"
     
            Dim voListeCategory As XmlNodeList = voRacine.SelectNodes("/category")
     
            For Each voNodeCategory As XmlElement In voListeCategory
     
                For Each voListeCategoryTech As XmlElement In voNodeCategory.ChildNodes
     
                    Dim vsType As String
                    vsType = voListeCategoryTech.GetAttribute("type").ToString
     
                Next
     
            Next

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par d�faut
    Citation Envoy� par frenchwarez Voir le message
    salut,

    voici par exemple du code pour la lecture des elements selon ta structure

    ne pas oublier d'importer "system.xml"

    Dim voXmlDoc As New XmlDocument
    voXmlDoc.Load("c:\fichier.xml")


    '<?xml version="1.0" encoding="utf-8" ?>
    '<parameters>
    ' <category type="scenario">
    ' <param1 type="integer">100</param1>
    ' <param2 type="integer">250</param2>
    ' <param3 type="string">prix</param3>
    ' </category>

    ' <category type="technique">
    ' <tech1 type="integer">2006</tech1>
    ' <tech2 type="integer">1996</tech2>
    ' <tech3 type="decimal">2,5</tech3>
    ' </category>
    '</parameters>


    Dim voRacine As XmlElement = voXmlDoc.DocumentElement '(parameters)

    ' liste des noeuds "category"

    Dim voListeCategory As XmlNodeList = voRacine.SelectNodes("/category")

    For Each voNodeCategory As XmlElement In voListeCategory

    For Each voListeCategoryTech As XmlElement In voNodeCategory.ChildNodes

    Dim vsType As String
    vsType = voListeCategoryTech.GetAttribute("type").ToString

    Next

    Next
    mais encore ?! ce code ne fait pas grand chose lol !

  4. #4
    R�dacteur/Mod�rateur


    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    F�vrier 2004
    Messages
    19 875
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 19 875
    Par d�faut
    Si, il lit le contenu du XML et le place dans un arbre DOM. Ensuite tu peux ajouter des nodes avec ce que tu veux dedans, puis enregistrer dans le fichier.
    Si tu n'as pas de contraintes sur la structure du XML, je te sugg�re d'utiliser plut�t la s�rialisation XML, qui permet de convertir de fa�on transparente des objets en XML, et inversement.

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    F�vrier 2004
    Messages
    19 875
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 19 875
    Par d�faut
    Voil� un peu de code pour te donner une id�e de ce qu'est la s�rialisation (d�sol�, c'est du C#... mais c'est facile � convertir en VB). L'id�e est de cr�er des classes correspondant aux �l�ments de ton XML, avec �ventuellement des attributs pour contr�ler la fa�on dont c'est s�rialis� (�l�ment, attribut, texte...)
    Code C# : 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
    48
    49
    50
    51
    52
    53
    54
     
        public class Parameter
        {
            [XmlAttribute]
            public string Name { get; set; }
     
            [XmlAttribute]
            public string Type { get; set; }
     
            [XmlText]
            public string Value { get; set; }
        }
     
        public class Category
        {
            public List<Parameter> Parameters { get; set; }
     
            [XmlAttribute]
            public string Type { get; set; }
     
            public Category()
            {
                Parameters = new List<Parameter>();
            }
        }
     
        public class Parameters
        {
            public List<Category> Categories { get; set; }
     
            public Parameters()
            {
                Categories = new List<Category>();
            }
     
            // Méthode pour enregistrer un objet Parameters dans un fichier XML
            public void Save(string filename)
            {
                StreamWriter wr = new StreamWriter(filename);
                XmlSerializer xs = new XmlSerializer(typeof(Parameters));
                xs.Serialize(wr, this);
                wr.Close();
            }
     
            // Méthode pour charger un objet Parameters à partir d'un fichier XML
            public static Parameters LoadFromFile(string filename)
            {
                StreamReader rd = new StreamReader(filename);
                XmlSerializer xs = new XmlSerializer(typeof(Parameters));
                Parameters p = xs.Deserialize(rd) as Parameters;
                rd.Close();
                return p;
            }
        }

    Ca donne ce r�sultat (avec les donn�es de ton post):

    Code XML : 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
     
    <?xml version="1.0" encoding="utf-8"?>
    <Parameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <Categories>
        <Category Type="scenario">
          <Parameters>
            <Parameter Name="param1" Type="integer">100</Parameter>
            <Parameter Name="param2" Type="integer">250</Parameter>
            <Parameter Name="param3" Type="string">prix</Parameter>
          </Parameters>
        </Category>
        <Category Type="technique">
          <Parameters>
            <Parameter Name="tech1" Type="integer">2006</Parameter>
            <Parameter Name="tech2" Type="integer">1996</Parameter>
            <Parameter Name="tech3" Type="decimal">2.5</Parameter>
          </Parameters>
        </Category>
      </Categories>
    </Parameters>

    Ca n'a pas exactement la m�me t�te, mais �a s'en rapproche... Tu peux contr�ler assez finement la structure du XML g�n�r�. Par contre tu ne peux pas avoir des noms d'�l�ment variables (genre <param1>, <tech2>...) � moins d'avoir des propri�t�s nomm�es param1 ou tech2 dans tes objets

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 15
    Par d�faut
    t'aurais pas la m�me chose en java ?

  7. #7
    R�dacteur/Mod�rateur


    Homme Profil pro
    D�veloppeur .NET
    Inscrit en
    F�vrier 2004
    Messages
    19 875
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur .NET
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 19 875
    Par d�faut
    il doit y avoir des �quivalents, mais je connais pas... ==> voir le forum java

Discussions similaires

  1. enregistrement des donn�es dans un fichier XML
    Par floriza dans le forum XML/XSL et SOAP
    R�ponses: 1
    Dernier message: 06/05/2011, 09h12
  2. [Plugin] Enregistrer des donn�es dans un fichier XML
    Par bulldo dans le forum Eclipse Platform
    R�ponses: 8
    Dernier message: 05/08/2010, 09h12
  3. Comment lire des donn�es d'un fichier XML � partir de java
    Par kamaldev dans le forum Format d'�change (XML, JSON...)
    R�ponses: 11
    Dernier message: 25/08/2006, 19h29
  4. [VB6]enregistrer des donn�es dans un fichier
    Par tchinette42 dans le forum VB 6 et ant�rieur
    R�ponses: 6
    Dernier message: 19/04/2006, 18h55
  5. [XML] stocker des donn�es dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    R�ponses: 5
    Dernier message: 27/05/2005, 16h51

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