begin process at 2010 03 22 03:42:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > APPLICATION POUR LIRE, FAIRE UNE AJOUT DANS UN FICHIER XML

APPLICATION POUR LIRE, FAIRE UNE AJOUT DANS UN FICHIER XML


 Information sur la source

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Niveau :Débutant Date de création :11/04/2005 Vu :18 616

Auteur : irnbru

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

ce code simple permet d'avoir de bonne base pour lire et ajouter des éléments d'un fichier XML.

Source

  • Imports System.Xml
  • Namespace AppXML
  • Public Class Form1
  • Inherits System.Windows.Forms.Form
  • Private documentXML As XmlDocument
  • Private noeuxRacine As XmlNode
  • Private EnfantNoeux As XmlNodeList
  • Private elementXML As XmlElement
  • Private texteXML As XmlText
  • Private sTousLesEnfants As String
  • Private Const CHEMIN As String = "C:\Formules.xml"
  • Private sNouvelleForm As String
  • #Region " Code généré par le Concepteur Windows Form "
  • Public Sub New()
  • MyBase.New()
  • 'Cet appel est requis par le Concepteur Windows Form.
  • InitializeComponent()
  • 'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  • End Sub
  • 'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
  • Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
  • If disposing Then
  • If Not (components Is Nothing) Then
  • components.Dispose()
  • End If
  • End If
  • MyBase.Dispose(disposing)
  • End Sub
  • 'Requis par le Concepteur Windows Form
  • Private components As System.ComponentModel.IContainer
  • 'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
  • 'Elle peut être modifiée en utilisant le Concepteur Windows Form.
  • 'Ne la modifiez pas en utilisant l'éditeur de code.
  • Friend WithEvents Label1 As System.Windows.Forms.Label
  • Friend WithEvents TxtXMLAjout As System.Windows.Forms.TextBox
  • Friend WithEvents BtnLire As System.Windows.Forms.Button
  • Friend WithEvents BtnAjout As System.Windows.Forms.Button
  • <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  • Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
  • Me.BtnLire = New System.Windows.Forms.Button
  • Me.BtnAjout = New System.Windows.Forms.Button
  • Me.TxtXMLAjout = New System.Windows.Forms.TextBox
  • Me.Label1 = New System.Windows.Forms.Label
  • Me.SuspendLayout()
  • '
  • 'BtnLire
  • '
  • Me.BtnLire.Location = New System.Drawing.Point(32, 72)
  • Me.BtnLire.Name = "BtnLire"
  • Me.BtnLire.Size = New System.Drawing.Size(112, 32)
  • Me.BtnLire.TabIndex = 1
  • Me.BtnLire.Text = "LireXML"
  • '
  • 'BtnAjout
  • '
  • Me.BtnAjout.Location = New System.Drawing.Point(152, 72)
  • Me.BtnAjout.Name = "BtnAjout"
  • Me.BtnAjout.Size = New System.Drawing.Size(112, 32)
  • Me.BtnAjout.TabIndex = 2
  • Me.BtnAjout.Text = "AJoutXML"
  • '
  • 'TxtXMLAjout
  • '
  • Me.TxtXMLAjout.Location = New System.Drawing.Point(48, 32)
  • Me.TxtXMLAjout.Name = "TxtXMLAjout"
  • Me.TxtXMLAjout.Size = New System.Drawing.Size(176, 20)
  • Me.TxtXMLAjout.TabIndex = 3
  • Me.TxtXMLAjout.Text = ""
  • '
  • 'Label1
  • '
  • Me.Label1.Location = New System.Drawing.Point(48, 8)
  • Me.Label1.Name = "Label1"
  • Me.Label1.Size = New System.Drawing.Size(184, 24)
  • Me.Label1.TabIndex = 4
  • Me.Label1.Text = "Formule de politesse"
  • '
  • 'Form1
  • '
  • Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  • Me.ClientSize = New System.Drawing.Size(292, 125)
  • Me.Controls.Add(Me.Label1)
  • Me.Controls.Add(Me.TxtXMLAjout)
  • Me.Controls.Add(Me.BtnAjout)
  • Me.Controls.Add(Me.BtnLire)
  • Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
  • Me.Name = "Form1"
  • Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
  • Me.Text = "Gestionnaire XML"
  • Me.ResumeLayout(False)
  • End Sub
  • #End Region
  • Private Sub BtnLire_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLire.Click
  • Dim iIndexe As Integer
  • Try
  • documentXML = New XmlDocument
  • documentXML.Load(CHEMIN)
  • noeuxRacine = documentXML.DocumentElement()
  • EnfantNoeux = noeuxRacine.ChildNodes
  • iIndexe = 0
  • While (iIndexe < EnfantNoeux.Count)
  • MsgBox(EnfantNoeux.ItemOf(iIndexe).InnerText)
  • iIndexe = iIndexe + 1
  • End While
  • Catch ex As XmlException
  • MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error)
  • Catch ex As Exception
  • MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error)
  • End Try
  • End Sub
  • Private Sub BtnAjout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAjout.Click
  • Try
  • sNouvelleForm = TxtXMLAjout.Text
  • documentXML = New XmlDocument
  • documentXML.Load(CHEMIN)
  • EnfantNoeux = documentXML.GetElementsByTagName("Intro")
  • Dim i As Integer
  • For i = 0 To EnfantNoeux.Count - 1
  • If EnfantNoeux.Item(i).InnerText = sNouvelleForm Then
  • MessageBox.Show("Element déjà ajouté", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information)
  • Exit Sub
  • End If
  • Next
  • elementXML = documentXML.CreateElement("Intro")
  • texteXML = documentXML.CreateTextNode(sNouvelleForm)
  • documentXML.DocumentElement.AppendChild(elementXML)
  • documentXML.DocumentElement.LastChild.AppendChild(texteXML)
  • documentXML.Save(CHEMIN)
  • MessageBox.Show("Ajout effectué", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information)
  • Catch ex As XmlException
  • MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error)
  • Catch ex As Exception
  • MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error)
  • End Try
  • End Sub
  • End Class
  • End Namespace
Imports System.Xml

Namespace AppXML

    Public Class Form1
        Inherits System.Windows.Forms.Form

        Private documentXML As XmlDocument
        Private noeuxRacine As XmlNode
        Private EnfantNoeux As XmlNodeList

        Private elementXML As XmlElement
        Private texteXML As XmlText

        Private sTousLesEnfants As String
        Private Const CHEMIN As String = "C:\Formules.xml"
        Private sNouvelleForm As String

#Region " Code généré par le Concepteur Windows Form "

        Public Sub New()
            MyBase.New()

            'Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()


            'Ajoutez une initialisation quelconque après l'appel InitializeComponent()

        End Sub

        'La méthode substituée Dispose du formulaire pour nettoyer la liste des composants.
        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
            If disposing Then
                If Not (components Is Nothing) Then
                    components.Dispose()
                End If
            End If
            MyBase.Dispose(disposing)
        End Sub

        'Requis par le Concepteur Windows Form
        Private components As System.ComponentModel.IContainer

        'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
        'Elle peut être modifiée en utilisant le Concepteur Windows Form.  
        'Ne la modifiez pas en utilisant l'éditeur de code.
        Friend WithEvents Label1 As System.Windows.Forms.Label
        Friend WithEvents TxtXMLAjout As System.Windows.Forms.TextBox
        Friend WithEvents BtnLire As System.Windows.Forms.Button
        Friend WithEvents BtnAjout As System.Windows.Forms.Button
        <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
            Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
            Me.BtnLire = New System.Windows.Forms.Button
            Me.BtnAjout = New System.Windows.Forms.Button
            Me.TxtXMLAjout = New System.Windows.Forms.TextBox
            Me.Label1 = New System.Windows.Forms.Label
            Me.SuspendLayout()
            '
            'BtnLire
            '
            Me.BtnLire.Location = New System.Drawing.Point(32, 72)
            Me.BtnLire.Name = "BtnLire"
            Me.BtnLire.Size = New System.Drawing.Size(112, 32)
            Me.BtnLire.TabIndex = 1
            Me.BtnLire.Text = "LireXML"
            '
            'BtnAjout
            '
            Me.BtnAjout.Location = New System.Drawing.Point(152, 72)
            Me.BtnAjout.Name = "BtnAjout"
            Me.BtnAjout.Size = New System.Drawing.Size(112, 32)
            Me.BtnAjout.TabIndex = 2
            Me.BtnAjout.Text = "AJoutXML"
            '
            'TxtXMLAjout
            '
            Me.TxtXMLAjout.Location = New System.Drawing.Point(48, 32)
            Me.TxtXMLAjout.Name = "TxtXMLAjout"
            Me.TxtXMLAjout.Size = New System.Drawing.Size(176, 20)
            Me.TxtXMLAjout.TabIndex = 3
            Me.TxtXMLAjout.Text = ""
            '
            'Label1
            '
            Me.Label1.Location = New System.Drawing.Point(48, 8)
            Me.Label1.Name = "Label1"
            Me.Label1.Size = New System.Drawing.Size(184, 24)
            Me.Label1.TabIndex = 4
            Me.Label1.Text = "Formule de politesse"
            '
            'Form1
            '
            Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
            Me.ClientSize = New System.Drawing.Size(292, 125)
            Me.Controls.Add(Me.Label1)
            Me.Controls.Add(Me.TxtXMLAjout)
            Me.Controls.Add(Me.BtnAjout)
            Me.Controls.Add(Me.BtnLire)
            Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
            Me.Name = "Form1"
            Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
            Me.Text = "Gestionnaire XML"
            Me.ResumeLayout(False)

        End Sub

#End Region


        Private Sub BtnLire_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLire.Click


            Dim iIndexe As Integer

            Try
                documentXML = New XmlDocument

                documentXML.Load(CHEMIN)

                noeuxRacine = documentXML.DocumentElement()

                EnfantNoeux = noeuxRacine.ChildNodes

                iIndexe = 0

                While (iIndexe < EnfantNoeux.Count)

                    MsgBox(EnfantNoeux.ItemOf(iIndexe).InnerText)
                    iIndexe = iIndexe + 1

                End While


            Catch ex As XmlException

                MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Catch ex As Exception

                MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error)

            End Try

        End Sub

        Private Sub BtnAjout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAjout.Click

            Try

                sNouvelleForm = TxtXMLAjout.Text

                documentXML = New XmlDocument

                documentXML.Load(CHEMIN)

                EnfantNoeux = documentXML.GetElementsByTagName("Intro")

                Dim i As Integer

                For i = 0 To EnfantNoeux.Count - 1

                    If EnfantNoeux.Item(i).InnerText = sNouvelleForm Then
                        MessageBox.Show("Element déjà ajouté", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information)
                        Exit Sub
                    End If

                Next

                elementXML = documentXML.CreateElement("Intro")
                texteXML = documentXML.CreateTextNode(sNouvelleForm)

                documentXML.DocumentElement.AppendChild(elementXML)
                documentXML.DocumentElement.LastChild.AppendChild(texteXML)

                documentXML.Save(CHEMIN)

                MessageBox.Show("Ajout effectué", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information)


            Catch ex As XmlException

                MessageBox.Show(ex.Message, "Problème XML", MessageBoxButtons.OK, MessageBoxIcon.Error)

            Catch ex As Exception

                MessageBox.Show(ex.Message, "Problème", MessageBoxButtons.OK, MessageBoxIcon.Error)

            End Try
        End Sub

    End Class


End Namespace



 Sources du même auteur

Source avec Zip Source .NET (Dotnet) COMBO PERSONNALISÉ PERMETTANT D'AVOIR LA FONCTIONNALITÉ AUTO...

 Sources de la même categorie

Source avec Zip Source avec une capture TRI PAR INSERTION par jmc70
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION COMPLÈTE DE ZIP - ZIPDEZIP par zozo14
Source avec Zip Source avec une capture APPLICATION WEB POUR LA GESTION D'UNE AGENCE DE LOCATION DE ... par rachid1449
Source avec Zip COURS DE PILOTAGE........D'APPLICATIONS par Renfield
Source avec Zip Source .NET (Dotnet) DLL POUR K8055 (VM110) UTILISATION SIMPLIFIÉE DE CETTE CARTE par Adn56

Commentaires et avis

Commentaire de TOLLAI le 20/04/2005 12:51:25

Bonjour IRNBRU,
C'est quoi un fichier XLM (à part le fait que c'est un fichier lié à EXCEL), à quoi sert-il ? (je débute !)

J'en profite pour vous remercier (vous tous) pour votre contribution à mon éducation !

Commentaire de lvinzz le 22/04/2005 10:46:11

XML, ca n'a rien a voir ave excel deja ;)
ca permet d'ecrire du texte e facon hierarchique

Commentaire de cyberice67 le 25/04/2005 19:52:32

Est-ce que tu connais la syntaxe pour CREER un fichier XML.
J'en aurai besoin pour généré un fichier XML à partir d'une base de données mais j'ai des problèmes à comprendre le fonctionnement des "noeuds".

Exemple de table :
Client (NumCli,NomCli,PrenCli)
Facture (NumFact, MontantFact, #Numcli)

Si tu pouvais prendre ces données ca s'ré sympa (basique pour comprendre).
Pour info j'utilise DAO pour me connecter à une base Access :

Set db = opendatabase("mabase.mdb")
sql = "Select * from Client"
Set rs = db.openrecordset(sql)

Ensuite j'utilise rs.movenext pour me déplacer sur les enregistrements.

Merci d'avance

Commentaire de elmagico le 01/07/2005 22:47:32

Bonjout, je suis tomber sur ce code en cherchant un script en actionscript pour ajout sur xml ! Très bien ton code, c quasi le meme que as ...
cyberice67 > Pour ce qui est de l'xml c un format de stockage par encapsulement comme le html, avec des balise pour definir tes données ... Voici un exemple

<Clients>
<Client>
  <NumClient="01"/>
  <NomClient="Albert"/>
  <PrenCli="xxx"/>
</Client>
<Clients>

un 2ème

<Clients>
<Client NumClient="01" NomClient="Albert" PrenCli="xxx" />
<Clients>

Commentaire de elmagico le 01/07/2005 22:50:00

Oups tu verras que j'ai oublier des / !!! A chaque fin d'enregistrement il en faut un;
exemple : <Client></Client> ou <Client NumClient .... />

Commentaire de cyberice67 le 01/07/2005 23:24:31

Elmadigo t'es gentil mais je sais comment est structuré un fichier .XML  :D

Ce que je cherche c'est comment CREER un fichier xml à partir de .NET tout en gérant les noeuds dans la génération du fichier...

Prochain coup lis mieux ce que les gens cherchent ;)

- Cyberice67 -


PS : En plus ta syntaxe XML est archi fausse, on ne met pas les données élémentaires à l'intérieur même de la balise (t'es en XML)

<?xml
  <nom>MonNom </nom>
  <prenom> MonPrenom </prenom>
?>

Commentaire de elmagico le 02/07/2005 01:19:54

Hahaha
Oki, je sais que je suis gentil :p ...
Heu si tu connais le xml tu sais ce que c'est le noeuds, si tu fait du .net, et que le script au dessus en est bien un ( moi je sais pas je fais du flash et as, mais je comprend en majorité le script ci dessus) tu sais trouver dedans le partie correspondante a la creation d'un xml et de ces noauds, ...

Private Sub BtnAjout_Click(...)
  

                sNouvelleForm = TxtXMLAjout.Text
  
                documentXML = New XmlDocument
  
                documentXML.Load(CHEMIN)
  
                EnfantNoeux = documentXML.GetElementsByTagName("Intro")
  
                Dim i As Integer
  
                For i = 0 To EnfantNoeux.Count - 1
  
                ...........
  
                elementXML = documentXML.CreateElement("Intro")
                texteXML = documentXML.CreateTextNode(sNouvelleForm)
  
                documentXML.DocumentElement.AppendChild(elementXML)
                documentXML.DocumentElement.LastChild.AppendChild(texteXML)
  
                documentXML.Save(CHEMIN)
  
                MessageBox.Show("Ajout effectué", "Ajout", MessageBoxButtons.OK, MessageBoxIcon.Information)
  
  

... regarde dans cette partie comment il ajoute ces données,

et ici comment il en fait reference pour ces variables :

Public Class Form1
        Inherits System.Windows.Forms.Form
  
        Private documentXML As XmlDocument
        Private noeuxRacine As XmlNode
        Private EnfantNoeux As XmlNodeList
  
        Private elementXML As XmlElement
        Private texteXML As XmlText
  
        Private sTousLesEnfants As String
        Private Const CHEMIN As String = "C:\Formules.xml"
        Private sNouvelleForm As String

... Autre choses mes tags xml sont bon, enfin je veut dire par la que tu fais ce que tu veut avec un xml puisque tu le recupère comme tu veut !!! ...

Commentaire de elmagico le 02/07/2005 01:21:22

Ah puis moi c'est ELMAGICO oups...

Commentaire de Benouille le 11/07/2005 10:18:13

t'es un peu lourd cyber brice du 67, El magico réponds gentiment a ta question et tu l'envoies chier alors qu'il aurait suffit que tu lises avant de poser une question a la con.

sinon la source est tres bien, bien écrite, propre, claire ... je mets 10

vbnouille

Commentaire de cyberice67 le 11/07/2005 12:30:16

Salut Benouille,

C'est pas cyber brice mais cyberICE ;)

Pour ce qui est de Elmagico c'est vrai que j'étais un peu sec et j'm'en excuse... Devais pas être dans mon assiette ce jour là :)

Sans rancune...

Cyberice67

Commentaire de Benouille le 11/07/2005 12:45:29

ah cyber ice, je comprends mieux pourquoi t'étais un peu froid alors ;) ++

Commentaire de chasseurdedemon le 17/06/2009 21:09:52

bonjour,
je suis débutant et je comprend pas la différence entre les fichier INI et xml, est-ce que quelqu'un peut m'expliquer?

parce que c'est plus simple d'y accéder à un fichier ini.

ensuite le code donner est à mettre dans une forme ou un module ?

Commentaire de chasseurdedemon le 17/06/2009 21:20:55

est-ce que quelqu'un peux mettre un exemple d'utilisation
merci

Commentaire de chasseurdedemon le 17/06/2009 21:23:23

dsl pour le msg d'audessus j'avais pas vue qu'il y avait des boutons et un texbox pour faire le travail

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales