GESTION FACILE DES FICHIERS XML EN VB.NET (CREATION / LECTURE / MODIFICATIONS /
HALLLES
Messages postés16Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention27 mai 2005
-
27 mai 2005 à 17:08
cs_Aquadrox
Messages postés7Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention25 avril 2012
-
25 avril 2012 à 08:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Aquadrox
Messages postés7Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention25 avril 2012 25 avril 2012 à 08:38
Bonjour,
Il faut faire attention, la méthode createNewFile ne libère pas le filestream, du coup le fichier reste locké.
Je lai modifié comme suit:
Public Sub createNewFile(ByVal nomFichier As String)
Try
'creation d'un nouveau fichier
Dim fs As System.IO.FileStream
fs = System.IO.File.Create(nomFichier)
fs.Dispose()
Catch e As Exception
MsgBox("Erreur dans la création du fichier : " & e.Message)
End Try
End Sub
Comme cela le fichier est délocké et peut être utilisé dans la foulée.
cs_zer988
Messages postés5Date d'inscriptionmercredi 4 mars 2009StatutMembreDernière intervention18 avril 2010 29 sept. 2010 à 19:57
bonjour
une trés bonne application je suis al recherche d'un code d'une application qui Représenter un fichier XML dans un contrôle TreeView avec possibilité de mise à jour
direct sans utiliser un shema xsd ou bien autre... en suivant le path dans un textbox pour fair cette mise a jour
je vous en suplit aidé moi je suis sur cette recherche depuit 2 semaine
mon fichier xml est le suivant
<?xml version="1.0"?>
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 27 juin 2009 à 22:36
----------------------------------------
un an de commentaires nettoyé !!!
----------------------------------------
il n'y a aucune raison de s'énerver pour si peu!!
certains "conseils" étaient lègèrements attaquant mais justifés, d'autres étaient totalement déplacés et injustifiés
essayez de ne pas trop dériver de la source par elle-même
ici c'est une zone de commentaires de SOURCE, pas un forum et encore moins une zone à trolls
il est encore plus inutile (pour rester poli) de parler d'un membre "IL" sur sa source, et plus encore d'aller carrément insulter les participants !!! peu importe ce qu'on en pense
c'est pas la fête du slip
une personne PARTAGE, on donne (ou non) son avis, ses remerciements, ses conseils, ses critiques constructives, etc... sur ce partage
pour les gueguerres, réservez-vous çà par MP
merci !
chasseurdedemon
Messages postés60Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention15 novembre 2010 18 juin 2009 à 00:58
c'est bon j'ai trouver ^^
Dim Doc As New XmlDocument
Dim mElement As XmlElement
mElement = Doc.CreateElement("root")
Doc.AppendChild(mElement)
'Creation d'une XML declaration.
Dim xmldecl As XmlDeclaration
xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
Doc.InsertBefore(xmldecl, Doc.DocumentElement)
Doc.Save("c:\XmlDoc.xml")
merci
chasseurdedemon
Messages postés60Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention15 novembre 2010 18 juin 2009 à 00:33
bonjour,
je suis débutant en vb.net ( j'utiliser vb puis c puis c++ puis java et je veux tester le vb.net qui est de l'objet comparer a vb )
j'utilise les fonction de base pour géré les fichier xml ( merci quand même pour la source ^^ )
mais je voudrais savoir comment créer le fichier xml s'il n'existe pas sur le disque dure pour ensuite l'utiliser .
merci de ton aide.
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 9 juin 2009 à 07:54
La source est mise à jour et devrait résoudre la plupart des problèmes rencontrés. Il suffit de connaître la syntaxe des requêtes XPath :)
killedman
Messages postés17Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 novembre 2017 3 avril 2009 à 17:50
Salut,
C'est bien comme source :)
Le problème est que je comprend pas comment tu fait pour créé un nouveau noeud si le fichier est de cette forme.
Mais bon, comme je suis plus habituer à travailler avec des BD :)
Merci pour le source ...
samterabyte
Messages postés1Date d'inscriptionmardi 14 août 2007StatutMembreDernière intervention24 janvier 2009 24 janv. 2009 à 15:28
Salut Gab,
ton source est idéal pour mettre le pied à l'etrier d'un newbie comme moi de vb et du xml.
Je rencontre cependant un petit problème, je parviens sans problème à utiliser getElement ou getAttribute, mais mon fichier xml reste insensible au setElement, SetElementValue, SetAttribute !
je suis sous VB express 2008/Vista
Ais-je manqué quleque chose ?
A+
passylmat
Messages postés17Date d'inscriptionmercredi 11 janvier 2006StatutMembreDernière intervention29 décembre 2008 29 juin 2008 à 16:34
Vraiment très bonne source, exactement ce qu'il me fallait ! Bravo, lisible, simple à comprendre et à utiliser, vraiment parfait !! ^^
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 27 mars 2008 à 03:38
Pour les settings en C# ils sont aussi disponibles. Je les ai déjà utilisé par exemple dans mon GabMouseColorPicker qui est écrit en C#. Simplement la programmation est un peu différente. Voici comment faire tout simplement :
1 - On définit les paramètres que l'on souhaite dans l'onglet Settings des propriétés de l'application.
2 - On rajoute la directive suivante, où MonApplicationNameSpace correspond à l'espace de nom de votre application :
using MonApplicationNameSpace.Properties;
3 - On charge les settings manuellement au démarrage de l'application :
private void frmMain_Load(object sender, EventArgs e)
{
// On charge les settings
this.monControle.Checked = Settings.Default.monControleChecked;
//...
}
4 - On sauvegarde les settings à la fermeture de l'application
Et voilà... tout simplement ! Il faut écrire un peu plus, mais ce n'est pas beaucoup plus compliqué que le VB. Bien que le VB soit plus sympa avec le binding automatique des propriétés des classes ! :)
tularis
Messages postés21Date d'inscriptionmardi 8 mars 2005StatutMembreDernière intervention12 juillet 2009 25 mars 2008 à 14:19
j'approuve le commentaire de binoche, ta source est sympa, mais il faut apprendre a programmer comme de vrai développeurs maintenant, je te met 4/10 parce qu'il y a du travail comparé a la plupart des source de ce site qui ne sont ni commenté et parfois même non fonctionnel.
Tu surcharge ton code, et cela n'est toujours pas corrigés depuis 3 mois ...
Je considère que ta source est partageable et je te remercie de l'avoir affiché.
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 13 déc. 2007 à 19:54
Entierement d'accord, il y a pas mal de lourdeau qui oublit le "spirit comunity", ou viennet carement dans cette comunauté, en croyant que c'est télécharger.com ou que c'est la poudre de perlinpin miraculeuse du "dieu" bilou, arf arf arf..... :-)
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 13 déc. 2007 à 17:34
1 sur 5 ...
Comme tu y vas !
Regardes. Imagines, tu crées un logiciel, ou un bout de code, il marche bien, tout le monde l'aime bien, il a une bonne note.
Mais, je trouve un défaut. Oh bien sûr ça ne nuit pas au fonctionnement, c'est juste une optimisation et je pourrai corriger ça moi-même et te le signaler.
Si je te le signale, tu peux corriger, ainsi ton logiciel devient meilleur. Je peux donner une bonne note car ton logiciel marche bien.
Mais non, je préfère directement te mettre un 1 sur 5, sans te laisser le temps de corriger !
Note qui restera même si tu corriges ton logiciel. Note qui restera là pour toujours.
En 3 mots... Merci du cadeau!
BinOff
Messages postés25Date d'inscriptionmardi 24 juillet 2001StatutMembreDernière intervention13 décembre 2007 13 déc. 2007 à 16:11
Bon je vois que la source plait à beaucoup de monde.
Je vais quand même t'annoncer un gros problème qui selon moi justifie la note que je te mets.
Les lignes :
Dim doc As New XmlDocument
doc.Load(fichier)
sont présente dans toutes les fonctions... à la place d'avoir un attribut doc privé à la classe.
Pourquoi ne ferais tu pas ceci :
private doc as xmlDocument 'en haut de ta classe
puis une property pour y accéder, et dans ton constructeur :
doc = New XmlDocument
(éventuellement prévoir une nouvelle fonction "save" ou "flush" qui peuvent être utile...
Actuellement si tu gardes ton source tel qu'il est, et que tu veux créer un fichier XML pour y ajouter des élements par exemple, la fonction recharge le fichier à chaque ajout d'un nouvel élement... Ca peut être très long... très très long même (plus le fichier xml grossi, plus l'ouverture sera lente)... Le correctif que je te propose te fera gagner beaucoup en performances.
Cordialement,
Pascal
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 22 nov. 2007 à 15:21
Tu utilises directememnt le "My.Settings" ?
ou tu passe par un :
' Get the application configuration file.
Dim config As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 22 nov. 2007 à 11:08
Je n'améliore plus cette classe actuellement, mais libre à toi de changer ce qui ne te convient pas ;)
Je travaille actuellement sur mon lecteur audio GabPlayer 2 et je n'ai plus à utiliser ma classe GabXML en raison du nouveau My.Settings de .net 2
cs_exatex
Messages postés7Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention 4 novembre 2009 22 nov. 2007 à 07:31
Source relativement pratique.
Je dirait qu'il y a juste quelques "defaut" de presentation. Par exemple, j'aurais defini une propriété "File" pour le chemin du fichier avec une variable local de stockage nommé "_File".
De plus les Try / Catch sont un peut trop generaliste. Il faut eviter des Try qui englobe tout le code d'une procedure.
Va tu encore travailler sur cette classe?
Je vais certainement avoir a travailler du XML dans peut de temps, et il y a des chances pour que j'utilise ta class.
Bon travail tous de même, et merci de nous le faire partager.
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 29 oct. 2007 à 03:33
Salut,
Félicitation pour cette classe. C'est la classe (désolé)
Un exemple ! Je te rajoute à ma petite liste de bons codeurs ;)
Merci
A+
cs_orothierry
Messages postés1Date d'inscriptionvendredi 12 novembre 2004StatutMembreDernière intervention 7 octobre 2007 7 oct. 2007 à 12:41
Si tout le monde faisait des codes aussi géniaux, (Class + codes de test complet + super bien fait et compréhensible) le monde serait surement meilleur lol.
Castelroussin
Messages postés5Date d'inscriptionmercredi 6 décembre 2006StatutMembreDernière intervention27 septembre 2007 27 sept. 2007 à 18:39
En 2 lignes....
Ta source est vraiment superbe. Bon Travail
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 19 janv. 2007 à 23:20
oui, en quelque sorte, mais je ne connaissait pas optional avant...
et puis ça permet t'avoir 2 signatures de méthodes avec l'intellisense de vstudio :)
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 21 nov. 2006 à 15:50
Merci de ta réponse,
la signature se fait au niveau des définition "byval" ?
Quel est la subtilité entre les deux fonctions le même nom et deux signatures différentes, par exemple :"Public Function getAttribute(ByVal path As String, ByVal nom As String, ByVal position As Integer) As String"
C'est l'équivalent d'écrire une seule fonction avec "optional position" ?
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 21 nov. 2006 à 07:59
les procédures avec le meme nom n'ont forcément pas la meme signature, c'est ce qui permet d'appeler toujours la bonne ... ;)
surfzoid
Messages postés463Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention21 avril 2010 16 nov. 2006 à 16:59
Salut
Ta classe est vraiment nickel et 10/10, une petite question, surment de newbie, mais bon,
Pourquoi et comment il y aurait toute les publique sub en DOUBLE, comment savoir que c'est la premiere ou la deuxieme que l'on appel sachant qu'il y a les meme arguments sans surcharges ?
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 17 nov. 2005 à 10:38
Bonjour,
ilham_layla : eh bien, cette classe a pour vocation d'être simple, non? :)
En tout cas, personnellement elle me simplifie beaucoup la vie!
jojodeboulco : merci !
Arnaud71870 : si tu veux, envoie moi un message privé pour me prévenir si tu a ajouté des fonctions, je pourrais les ajouter dans ma classe et la mettre à jour. Ca évitera d'avoir 2 sources presqu'identiques sur VB France ;)
Arnaud71870
Messages postés2Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention28 février 2006 9 nov. 2005 à 16:20
Merci......
Je cherchais un code me permettant de générer un flux XML. Je suis en train d'adapter ta classe pour éviter de stocker les info dans un fichier.
Si je rajoute des fonctions je les mettrai en ligne .... encore que ta classe est plutot complete pour moi.
Thx pour le code.
jojodeboulco
Messages postés1Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention26 octobre 2005 26 oct. 2005 à 23:34
Super! Rien à dire.
Je ne fais pas du tout du VB, mais j'ai "adapté" ton code en C# pour mes besoins et je te dis un grand merci!
J'ai cherché un moment et je ne trouvais rien. Merci encore.
ilham_layla
Messages postés5Date d'inscriptionmardi 18 octobre 2005StatutMembreDernière intervention11 novembre 2005 19 oct. 2005 à 11:31
salut je suis une debutante en xml svp je veux un code simple et compréhensif
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 16 sept. 2005 à 03:33
à ton service ^^
MaDzA
Messages postés20Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention13 septembre 20051 13 sept. 2005 à 20:07
Merci beaucoup pour ta reponse claire et précise GrabSoftware!
A bientôt a tous!
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 12 sept. 2005 à 22:30
Merci liquide pour tes commentaires, j'en tiendrai compte dans ma prochaine version.
Réponse à MaDzA :
Il existe DeleteElement, mais comme son nom l'indique elle sert est plutot destinée à supprimer des éléments.
supposons un objet GabXML nommé X associé au fichier XML suivant :
Pour supprimer le noeud <noeud>, il suffit de faire :
X.DeleteElement("/test", "noeud")
C'est vrai qu'il manque une méthode DeleteNode, qui serait plus naturelle
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 11 août 2005 à 12:08
de visu, j'aurais obligé dans le sub new a donner un nom de fichier, cela permet de supprimer la property "Lefichier" et un "sub new", ensuite je remplacerais les nom "lefichier" en "File" plutot, afin de garder le caractere "standard", je trouve que "path" n'est pas forcement le bon terme dans les functions, il désigne en général un acces au disque dur et non un acces interne a un fichier XML. J'aurais mis un procédure d'effacement total, et je passerais les functions en overloads (bien que pas nécessaire). Je continue plus tard à détailler.
@+
MaDzA
Messages postés20Date d'inscriptionmercredi 18 mai 2005StatutMembreDernière intervention13 septembre 20051 11 août 2005 à 11:46
salut! Moi je cherche comment supprimer un noeud. Mais le problème c'est que tu mets des variables (path et nom) mais je trouve pas a quoi ça correspond.
Peux-tu m'éclaircir stp?
en tout cas, merci a toi pour ta source
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 11 août 2005 à 02:25
Personne d'autre n'a d'avis? ça m'aiderait à faire évoluer la classe!
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 30 juin 2005 à 01:22
Merci beaucoup, ton commentaire m'encourage ! ^_^
N'hésitez pas à me demander de rajouter des fonctionnalités ou de me signaler les éventuels bugs !
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 26 juin 2005 à 16:02
Tres bonne class, bonne base pour commencer a gerer le XML
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 24 juin 2005 à 20:22
merci sprayart, je vais mettre à jour par une nouvelle version plus pratique en plus ! ;)
sprayart
Messages postés1Date d'inscriptionmercredi 21 janvier 2004StatutMembreDernière intervention21 juin 2005 21 juin 2005 à 13:43
Bonjour,
je pense que les fonctions deleteElement et deleteElementAt sont identiques,
il manque dans la deuxieme le positionnement sur l'élément. @+
GabSoftware
Messages postés72Date d'inscriptionjeudi 6 mai 2004StatutMembreDernière intervention14 novembre 2008 30 mai 2005 à 02:57
Je suis désolé je ne vois pas trop ce que vous désirez, pourriez vous être plus précis?
Ma classe est en vb.NET, or je n'ai jamais fait d'aspx, mais si quelqu'un sait comment faire, qu'il n'hésite pas à aider HALLLES!
Sinon d'autres commentaires sur la classe elle-même? Des choses à améliorer? à ajouter? à retirer ? ...
HALLLES
Messages postés16Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention27 mai 2005 27 mai 2005 à 17:08
Bonjour.
Auriez vous un code pour écrire un petit editeur gérant les disques locaux (je reste coté client mais je dois emplir une espece de forum avec des données multilingues, donc plusieurs alphabets) et Créer Ecrire Ajouter et Sauver des données sur disque.
Cela aurait la forme d un formulaire html, et des cases a remplir, une fois emplies les cases on sauve les données en deux fichiers un .TXT et un .XML sur mon disque local.
25 avril 2012 à 08:38
Il faut faire attention, la méthode createNewFile ne libère pas le filestream, du coup le fichier reste locké.
Je lai modifié comme suit:
Public Sub createNewFile(ByVal nomFichier As String)
Try
'creation d'un nouveau fichier
Dim fs As System.IO.FileStream
fs = System.IO.File.Create(nomFichier)
fs.Dispose()
Catch e As Exception
MsgBox("Erreur dans la création du fichier : " & e.Message)
End Try
End Sub
Comme cela le fichier est délocké et peut être utilisé dans la foulée.
29 sept. 2010 à 19:57
une trés bonne application je suis al recherche d'un code d'une application qui Représenter un fichier XML dans un contrôle TreeView avec possibilité de mise à jour
direct sans utiliser un shema xsd ou bien autre... en suivant le path dans un textbox pour fair cette mise a jour
je vous en suplit aidé moi je suis sur cette recherche depuit 2 semaine
mon fichier xml est le suivant
<?xml version="1.0"?>
-
<Option Name="Pass">94f38f2e6abb6c0b5b33775c2c32cc69</Option>
<Option Name="Group" />
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments" />
<Option Name="ForceSsl">0</Option>
-
<Disallowed />
-
-
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
- <SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
</SpeedLimits>
-
<Option Name="Pass">633a20265a58c9c64fcef09f5ef62465</Option>
<Option Name="Group" />
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments" />
<Option Name="ForceSsl">0</Option>
-
<Disallowed />
-
-
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">0</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
- <SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
</SpeedLimits>
8 janv. 2010 à 11:00
28 juin 2009 à 00:12
27 juin 2009 à 23:51
27 juin 2009 à 23:19
Peut tu aussi faire un tour ici s'il te plait ?
http://www.ircfr.com/codes/CRYPTAGE-AVEC-MOTS-PASSE_27760.aspx
http://www.codes-sources.com/comments/TULARIS-465059.aspx
27 juin 2009 à 22:36
un an de commentaires nettoyé !!!
----------------------------------------
il n'y a aucune raison de s'énerver pour si peu!!
certains "conseils" étaient lègèrements attaquant mais justifés, d'autres étaient totalement déplacés et injustifiés
essayez de ne pas trop dériver de la source par elle-même
ici c'est une zone de commentaires de SOURCE, pas un forum et encore moins une zone à trolls
il est encore plus inutile (pour rester poli) de parler d'un membre "IL" sur sa source, et plus encore d'aller carrément insulter les participants !!! peu importe ce qu'on en pense
c'est pas la fête du slip
une personne PARTAGE, on donne (ou non) son avis, ses remerciements, ses conseils, ses critiques constructives, etc... sur ce partage
pour les gueguerres, réservez-vous çà par MP
merci !
18 juin 2009 à 00:58
Dim Doc As New XmlDocument
Dim mElement As XmlElement
mElement = Doc.CreateElement("root")
Doc.AppendChild(mElement)
'Creation d'une XML declaration.
Dim xmldecl As XmlDeclaration
xmldecl = Doc.CreateXmlDeclaration("1.0", Nothing, Nothing)
Doc.InsertBefore(xmldecl, Doc.DocumentElement)
Doc.Save("c:\XmlDoc.xml")
merci
18 juin 2009 à 00:33
je suis débutant en vb.net ( j'utiliser vb puis c puis c++ puis java et je veux tester le vb.net qui est de l'objet comparer a vb )
j'utilise les fonction de base pour géré les fichier xml ( merci quand même pour la source ^^ )
mais je voudrais savoir comment créer le fichier xml s'il n'existe pas sur le disque dure pour ensuite l'utiliser .
merci de ton aide.
9 juin 2009 à 07:54
3 avril 2009 à 17:50
C'est bien comme source :)
Le problème est que je comprend pas comment tu fait pour créé un nouveau noeud si le fichier est de cette forme.
<Eleve nom="Kilvan" prenom="Mordak" El_Niv_Scol="6" El_Ref="1" Garde_partage="False" Num_Fiche="0">
</Eleve>
Mais bon, comme je suis plus habituer à travailler avec des BD :)
Merci pour le source ...
24 janv. 2009 à 15:28
ton source est idéal pour mettre le pied à l'etrier d'un newbie comme moi de vb et du xml.
Je rencontre cependant un petit problème, je parviens sans problème à utiliser getElement ou getAttribute, mais mon fichier xml reste insensible au setElement, SetElementValue, SetAttribute !
je suis sous VB express 2008/Vista
Ais-je manqué quleque chose ?
A+
29 juin 2008 à 16:34
27 mars 2008 à 03:38
1 - On définit les paramètres que l'on souhaite dans l'onglet Settings des propriétés de l'application.
2 - On rajoute la directive suivante, où MonApplicationNameSpace correspond à l'espace de nom de votre application :
using MonApplicationNameSpace.Properties;
3 - On charge les settings manuellement au démarrage de l'application :
private void frmMain_Load(object sender, EventArgs e)
{
// On charge les settings
this.monControle.Checked = Settings.Default.monControleChecked;
//...
}
4 - On sauvegarde les settings à la fermeture de l'application
private void frmMain_Closing(object sender, FormClosingEventArgs e)
{
Settings.Default.Save();
}
Et voilà... tout simplement ! Il faut écrire un peu plus, mais ce n'est pas beaucoup plus compliqué que le VB. Bien que le VB soit plus sympa avec le binding automatique des propriétés des classes ! :)
25 mars 2008 à 14:19
Tu surcharge ton code, et cela n'est toujours pas corrigés depuis 3 mois ...
Je considère que ta source est partageable et je te remercie de l'avoir affiché.
13 déc. 2007 à 19:54
13 déc. 2007 à 17:34
Comme tu y vas !
Regardes. Imagines, tu crées un logiciel, ou un bout de code, il marche bien, tout le monde l'aime bien, il a une bonne note.
Mais, je trouve un défaut. Oh bien sûr ça ne nuit pas au fonctionnement, c'est juste une optimisation et je pourrai corriger ça moi-même et te le signaler.
Si je te le signale, tu peux corriger, ainsi ton logiciel devient meilleur. Je peux donner une bonne note car ton logiciel marche bien.
Mais non, je préfère directement te mettre un 1 sur 5, sans te laisser le temps de corriger !
Note qui restera même si tu corriges ton logiciel. Note qui restera là pour toujours.
En 3 mots... Merci du cadeau!
13 déc. 2007 à 16:11
Je vais quand même t'annoncer un gros problème qui selon moi justifie la note que je te mets.
Les lignes :
Dim doc As New XmlDocument
doc.Load(fichier)
sont présente dans toutes les fonctions... à la place d'avoir un attribut doc privé à la classe.
Pourquoi ne ferais tu pas ceci :
private doc as xmlDocument 'en haut de ta classe
puis une property pour y accéder, et dans ton constructeur :
doc = New XmlDocument
(éventuellement prévoir une nouvelle fonction "save" ou "flush" qui peuvent être utile...
Actuellement si tu gardes ton source tel qu'il est, et que tu veux créer un fichier XML pour y ajouter des élements par exemple, la fonction recharge le fichier à chaque ajout d'un nouvel élement... Ca peut être très long... très très long même (plus le fichier xml grossi, plus l'ouverture sera lente)... Le correctif que je te propose te fera gagner beaucoup en performances.
Cordialement,
Pascal
22 nov. 2007 à 15:21
ou tu passe par un :
' Get the application configuration file.
Dim config As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)
J'ai aussi trouvé une alternative interessante pour le raison evoquer sur le forum du lien suivant :
http://forums.microsoft.com/MSDN-FR/ShowPost.aspx?PostID=2085773&SiteID=12
22 nov. 2007 à 11:08
Je travaille actuellement sur mon lecteur audio GabPlayer 2 et je n'ai plus à utiliser ma classe GabXML en raison du nouveau My.Settings de .net 2
22 nov. 2007 à 07:31
Je dirait qu'il y a juste quelques "defaut" de presentation. Par exemple, j'aurais defini une propriété "File" pour le chemin du fichier avec une variable local de stockage nommé "_File".
De plus les Try / Catch sont un peut trop generaliste. Il faut eviter des Try qui englobe tout le code d'une procedure.
Va tu encore travailler sur cette classe?
Je vais certainement avoir a travailler du XML dans peut de temps, et il y a des chances pour que j'utilise ta class.
Bon travail tous de même, et merci de nous le faire partager.
29 oct. 2007 à 03:33
26 oct. 2007 à 17:53
Félicitation pour cette classe. C'est la classe (désolé)
Un exemple ! Je te rajoute à ma petite liste de bons codeurs ;)
Merci
A+
7 oct. 2007 à 12:41
27 sept. 2007 à 18:39
Ta source est vraiment superbe. Bon Travail
19 janv. 2007 à 23:20
et puis ça permet t'avoir 2 signatures de méthodes avec l'intellisense de vstudio :)
21 nov. 2006 à 15:50
la signature se fait au niveau des définition "byval" ?
Quel est la subtilité entre les deux fonctions le même nom et deux signatures différentes, par exemple :"Public Function getAttribute(ByVal path As String, ByVal nom As String, ByVal position As Integer) As String"
C'est l'équivalent d'écrire une seule fonction avec "optional position" ?
21 nov. 2006 à 07:59
16 nov. 2006 à 16:59
Ta classe est vraiment nickel et 10/10, une petite question, surment de newbie, mais bon,
Pourquoi et comment il y aurait toute les publique sub en DOUBLE, comment savoir que c'est la premiere ou la deuxieme que l'on appel sachant qu'il y a les meme arguments sans surcharges ?
17 nov. 2005 à 10:38
ilham_layla : eh bien, cette classe a pour vocation d'être simple, non? :)
En tout cas, personnellement elle me simplifie beaucoup la vie!
jojodeboulco : merci !
Arnaud71870 : si tu veux, envoie moi un message privé pour me prévenir si tu a ajouté des fonctions, je pourrais les ajouter dans ma classe et la mettre à jour. Ca évitera d'avoir 2 sources presqu'identiques sur VB France ;)
9 nov. 2005 à 16:20
Je cherchais un code me permettant de générer un flux XML. Je suis en train d'adapter ta classe pour éviter de stocker les info dans un fichier.
Si je rajoute des fonctions je les mettrai en ligne .... encore que ta classe est plutot complete pour moi.
Thx pour le code.
26 oct. 2005 à 23:34
Je ne fais pas du tout du VB, mais j'ai "adapté" ton code en C# pour mes besoins et je te dis un grand merci!
J'ai cherché un moment et je ne trouvais rien. Merci encore.
19 oct. 2005 à 11:31
16 sept. 2005 à 03:33
13 sept. 2005 à 20:07
A bientôt a tous!
12 sept. 2005 à 22:30
Réponse à MaDzA :
Il existe DeleteElement, mais comme son nom l'indique elle sert est plutot destinée à supprimer des éléments.
supposons un objet GabXML nommé X associé au fichier XML suivant :
<?xml version="1.0"?>
<test>
<noeud>
<element valeur="1" />
</noeud>
</test>
Pour supprimer le noeud <noeud>, il suffit de faire :
X.DeleteElement("/test", "noeud")
C'est vrai qu'il manque une méthode DeleteNode, qui serait plus naturelle
11 août 2005 à 12:08
@+
11 août 2005 à 11:46
Peux-tu m'éclaircir stp?
en tout cas, merci a toi pour ta source
11 août 2005 à 02:25
30 juin 2005 à 01:22
N'hésitez pas à me demander de rajouter des fonctionnalités ou de me signaler les éventuels bugs !
26 juin 2005 à 16:02
24 juin 2005 à 20:22
21 juin 2005 à 13:43
je pense que les fonctions deleteElement et deleteElementAt sont identiques,
il manque dans la deuxieme le positionnement sur l'élément. @+
30 mai 2005 à 02:57
Ma classe est en vb.NET, or je n'ai jamais fait d'aspx, mais si quelqu'un sait comment faire, qu'il n'hésite pas à aider HALLLES!
Sinon d'autres commentaires sur la classe elle-même? Des choses à améliorer? à ajouter? à retirer ? ...
27 mai 2005 à 17:08
Auriez vous un code pour écrire un petit editeur gérant les disques locaux (je reste coté client mais je dois emplir une espece de forum avec des données multilingues, donc plusieurs alphabets) et Créer Ecrire Ajouter et Sauver des données sur disque.
Cela aurait la forme d un formulaire html, et des cases a remplir, une fois emplies les cases on sauve les données en deux fichiers un .TXT et un .XML sur mon disque local.
Merci de toute reponse.
Halles.