emouchet
Messages postés12Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention16 avril 2004
-
16 avril 2003 à 15:52
JMC70
Messages postés77Date d'inscriptionsamedi 9 novembre 2002StatutMembreDernière intervention 6 juillet 2014
-
14 nov. 2004 à 18:41
Je sais qu'il y en a qui l'on surement dejà fait mais bon ...
Voici un exemple de fichier XML que j'ai a traiter.
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 16 avril 2003 à 18:30
Bonjour
Dim Fichier As String, chemin As String, disque As String
Dim décomposé(100) As String, i As Integer, MonXml As String
Open "c:\chemin\fichier.xml" For Input As #1
Do While Not EOF(1)
Line Input #1, décomposé(i)
i = i + 1
Loop
Close 1
For i = 0 To UBound(décomposé) If UCase(Trim(décomposé(i))) "<DISK_NAME>" Then disque Trim(décomposé(i + 1)) If UCase(Trim(décomposé(i))) "" Then chemin Trim(décomposé(i + 1)) If UCase(Trim(décomposé(i))) "<NAME>" Then Fichier Trim(décomposé(i + 1))
Next i
If Right(disque, 1) <> "" Then disque = disque & ""
If Right(chemin, 1) <> "" Then chemin = chemin & ""
MonXml = disque & chemin & Fichier
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 17 avril 2003 à 16:12
Ton fichier XML doit contenir plus de 100 lignes.
Essaie de remplacer Dim décomposé(100) As String par
Dim décomposé(200) As String
ou alors, on dimensionne dynamiquement :
Dim Fichier As String, chemin As String, disque As String, Ligne As String, n As Integer
Open "c:\chemin\fichier.xml" For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
n = n + 1
Loop
Close 1
Dim décomposé(n) As String, i As Integer, MonXml As String
Open "c:\chemin\fichier.xml" For Input As #1
Do While Not EOF(1)
Line Input #1, décomposé(i)
i = i + 1
Loop
Close 1
For i = 0 To UBound(décomposé)If UCase(Trim(décomposé(i))) "<DISK_NAME>" Then disque Trim(décomposé(i + 1))If UCase(Trim(décomposé(i))) "" Then chemin Trim(décomposé(i + 1))If UCase(Trim(décomposé(i))) "<NAME>" Then Fichier Trim(décomposé(i + 1))
Next i
If Right(disque, 1) <> "" Then disque = disque & ""
If Right(chemin, 1) <> "" Then chemin = chemin & ""
MonXml = disque & chemin & Fichier
Vous n’avez pas trouvé la réponse que vous recherchez ?
emouchet
Messages postés12Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention16 avril 2004 22 avril 2003 à 11:04
Apres avoir eu la désagréable vision du nombre de lignes du fichier (45200)et de sa conscequence sur ton prog ...(dépassement de mémoire ...) je vais essayer de trouver une autre methode ... merci encore :-)
Emouchet, chevalier pendion, vous souhaite une agréable journée... :big)
JMC70
Messages postés77Date d'inscriptionsamedi 9 novembre 2002StatutMembreDernière intervention 6 juillet 2014 14 nov. 2004 à 18:41
L'analyse des fichiers xml comme fichiers textes n'est pas des plus simple, la preuve. Il est préférable de passer par le DOM.
Voir http://www.vbfrance.com/code.aspx?id=27570 qui explique comment faire une gestion de fichier xml depuis VB6
JMC70