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 :

Amélioration d'une Exportation CSV vers XML [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Utilisation Privé de VB.NET
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Utilisation Privé de VB.NET

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut Amélioration d'une Exportation CSV vers XML
    Bonjour,
    Je souhaiterais améliorer un code qui transforme un fichier CSV en XML.
    Le fichier CSV d'entrée original était organisé comme ceci :

    Point___ ; Pt_1__; 01/02/2013 ; X_Pt_1 ; Y_Pt_1 ; Z_Pt_1
    Segment ; Seg_1 ; 11/02/2013 ; X_Pt_2 ; Y_Pt_2 ; Z_Pt_2 ; X_Pt_3 ; Y_Pt_3 ; Z_Pt_3
    Point___ ; Pt_2__; 02/02/2013 ; X_Pt_4 ; Y_Pt_4 ; Z_Pt_4
    Segment ; Seg_2 ; 12/02/2013 ; X_Pt_5 ; Y_Pt_5 ; Z_Pt_5 ; X_Pt_6 ; Y_Pt_6 ; Z_Pt_6

    Sur une précédente discussion, "chrismonoye" m'avait gentiment aidé à réaliser le code suivant. Ce code ajoute des balises « Abscisse », « Ordonnée » et « Hauteur » s'il est indiqué dans l'enregistrement du fichier CSV qu'il s'agit d'un "Segment" (à 2 points) :

    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
    48
    49
    Public Sub ObjetsXML()
     
            'Lire le fichier CSV d'entrée qui contient les informations sur les objets
            Dim FileContent As String() = File.ReadAllLines("C:\Test.csv")
     
            'Définir la structure XML du fichier de sortie
            'en ajoutant des balises si le type d'objet est un "Segment"
            Dim StructureXML As XElement = New XElement("Bd_Objets", _
                                            New XElement("Titre", "Objets_2013"), _
                                            New XElement("Date", "11/02/2013"), _
                                            New XElement("Auteur", "Docteur26"), _
                                            From items In FileContent Let fields = items.Split(";"c) Select _
                                                New XElement("Objet", _
                                                    New XElement("Nom", fields(1)), _
                                                    New XElement("DateDeCreation", fields(2)), _
                                                    New XElement("Type", fields(0)), _
                                                    New XElement("Caracteristiques", _
                                                        New XElement("Coordonnees", _
                                                            New XElement("Abscisse", fields(3)), _
                                                            New XElement("Ordonnee", fields(4))), _
                                                        New XElement("Hauteur", fields(5))), _
                                                    If(fields(0) = "Segment", _
                                                    New XElement("Caracteristiques", _
                                                        New XElement("Coordonnees", _
                                                            New XElement("Abscisse", fields(6)), _
                                                            New XElement("Ordonnee", fields(7))), _
                                                        New XElement("Hauteur", fields(8))), _
                                                    Nothing), _
                                                    New XElement("Origine")))
     
            'Ecrire le fichier XML de sortie
            File.WriteAllText("C:\Test.xml", StructureXML.ToString)
     
            'Remplacer du texte dans le fichier XML de sortie (en écrasant le "FichierEntree" par le "FichierSortie")
            Dim fso As Object
            Dim FichierEntree As Object
            Dim FichierSortie As Object
            Dim TexteXML As String
     
            fso = CreateObject("Scripting.FileSystemObject")
            FichierEntree = fso.OpenTextFile("C:\Test.xml", 1)
     
            TexteXML = FichierEntree.ReadAll
            TexteXML = Replace(TexteXML, "<Bd_Objets>", "<Bd_Objets xmlns=""http://www.monsite.com"">")
            FichierSortie = fso.CreateTextFile("C:\Test.xml", True)
            FichierSortie.Writeline("<?xml version=""1.0"" encoding=""UTF-8"" ?>")
            FichierSortie.Write(TexteXML)
     
        End Sub
    Mon problème est que je voudrais avoir la possibilité de traiter jusqu’aux Lignes brisées (plus de 2 coordonnées/hauteur par objet).
    Pour ne pas multiplier les colonnes en fonction du nombre de points constituant la Ligne brisée (qui peut être important), j'ai modifié mon fichier CSV et il possède maintenant uniquement les champs suivants : « Type »;« Nom »;« Date »;« Abscisse »;« Ordonnée »;« Hauteur »
    Maintenant, pour caractériser une ligne (ou un segment) dans le fichier CSV, cela se fait obligatoirement sur plusieurs lignes :

    Point ; Pt_ 1 ; 01/02/2013 ; X_Pt_1 ; Y_Pt_1 ; Z_Pt_1
    Ligne ; Lig_1 ; 11/02/2013 ; X_Pt_2 ; Y_Pt_2 ; Z_Pt_2
    Ligne ; Lig_1 ; 11/02/2013 ; X_Pt_3 ; Y_Pt_3 ; Z_Pt_3
    Ligne ; Lig_2 ; 12/02/2013 ; X_Pt_4 ; Y_Pt_4 ; Z_Pt_4
    Ligne ; Lig_1 ; 11/02/2013 ; X_Pt_5 ; Y_Pt_5 ; Z_Pt_5
    Ligne ; Lig_1 ; 11/02/2013 ; X_Pt_6 ; Y_Pt_6 ; Z_Pt_6
    Ligne ; Lig_1 ; 11/02/2013 ; X_Pt_7 ; Y_Pt_7 ; Z_Pt_7

    J'essaye depuis un moment de modifier le code de "chrismonoye" pour que lorsque les champs d'un enregistrement du CSV : « Type », « Nom » et « Date » sont vides, il aille ajouter des balises « Abscisse », « Ordonnée » et « Hauteur » à l'enregistrement précédent qui a le type "Ligne". Mais là, je sèche !
    Voilà, désolé d'avoir était aussi long, mais j’espère avoir correctement décrit ce que je souhaitais faire.
    De plus, comme dans mes précédents Posts, je précise que je suis débutant ...

  2. #2
    Membre averti
    Homme Profil pro
    Utilisation Privé de VB.NET
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Utilisation Privé de VB.NET

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut
    Bon, j'avance "peut être" dans la bonne direction avec 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    Public Sub ObjetsXML()
     
            Dim FichierSource As New StreamReader("C:\Test.csv")
            Dim LigneActive As String
            Dim Tableau() As String
     
            Dim DocXML As XmlDocument = New XmlDocument()
     
            DocXML.LoadXml("<Bd_Objets></Bd_Objets>")
     
            Dim elemTitre As XmlElement
            elemTitre = DocXML.CreateElement("Titre")
            elemTitre.InnerText = "Objets_2013"
            Dim elemDate As XmlElement
            elemDate = DocXML.CreateElement("Date")
            elemDate.InnerText = "11/02/2013"
            Dim elemAuteur As XmlElement
            elemAuteur = DocXML.CreateElement("Auteur")
            elemAuteur.InnerText = "Docteur26"
            Dim elemObjet As XmlElement
            elemObjet = DocXML.CreateElement("Objet")
            Dim elemNom As XmlElement
            elemNom = DocXML.CreateElement("Nom")
            Dim elemDateDeCreation As XmlElement
            elemDateDeCreation = DocXML.CreateElement("DateDeCreation")
            Dim elemType As XmlElement
            elemType = DocXML.CreateElement("Type")
            Dim elemCaracteristique As XmlElement
            elemCaracteristique = DocXML.CreateElement("Caracteristiques")
            Dim elemCoordonnee As XmlElement
            elemCoordonnee = DocXML.CreateElement("Coordonnees")
            Dim elemAbscisse As XmlElement
            elemAbscisse = DocXML.CreateElement("Abscisse")
            Dim elemOrdonnee As XmlElement
            elemOrdonnee = DocXML.CreateElement("Ordonnee")
            Dim elemHauteur As XmlElement
            elemHauteur = DocXML.CreateElement("Hauteur")
            Dim elemOrigine As XmlElement
            elemOrigine = DocXML.CreateElement("Origine")
     
            DocXML.DocumentElement.AppendChild(elemTitre)
            DocXML.DocumentElement.AppendChild(elemDate)
            DocXML.DocumentElement.AppendChild(elemAuteur)
     
            Do
                LigneActive = FichierSource.ReadLine()
                If Not (LigneActive Is Nothing) Then
                    Tableau = Split(LigneActive, ";")
                    elemNom.InnerText = Tableau(0)
                    elemType.InnerText = Tableau(1)
                    elemDateDeCreation.InnerText = Tableau(2)
                    elemAbscisse.InnerText = Tableau(3)
                    elemOrdonnee.InnerText = Tableau(4)
                    elemHauteur.InnerText = Tableau(5)
     
                    If Tableau(0) <> "" Then
                        DocXML.DocumentElement.AppendChild(elemObjet)
                        elemObjet.AppendChild(elemNom)
                        elemObjet.AppendChild(elemDateDeCreation)
                        elemObjet.AppendChild(elemType)
                        elemObjet.AppendChild(elemCaracteristique)
                        elemCaracteristique.AppendChild(elemCoordonnee)
                        elemCoordonnee.AppendChild(elemAbscisse)
                        elemCoordonnee.AppendChild(elemOrdonnee)
                        elemCaracteristique.AppendChild(elemHauteur)
                    Else
                        elemObjet.AppendChild(elemCaracteristique)
                        elemCaracteristique.AppendChild(elemCoordonnee)
                        elemCoordonnee.AppendChild(elemAbscisse)
                        elemCoordonnee.AppendChild(elemOrdonnee)
                        elemCaracteristique.AppendChild(elemHauteur)
                    End If
                    elemObjet.AppendChild(elemOrigine)
                End If
            Loop Until LigneActive Is Nothing
     
            DocXML.Save("C:\Test.xml")
     
        End Sub
    Cette lecture ligne par ligne avec une boucle semble prometteuse. Mais, le problème, c'est que l'écriture du fichier (DocXML.Save) n'ajoute pas les éléments du XML au fur et à mesure comme je le souhaiterais. Il ne fait qu'écrire les éléments de la dernière ligne du CSV ...
    Si des bonnes âmes connaissent la solution ?

  3. #3
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Bonjour,
    je t'avais évoqué la sérialisation xml Serialisation en .net (Tuto pour c#, une petite recherche sur google pour du vb).
    Ou sinon essaye de le faire en 2 étapes, construit une liste d'objet à la lecture de ton CSV et à partir ce cette liste tu crée ton XML (en utilisant la méthode que tu préfères).

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    Dans le sens de youtpout978 et dans ta démarche actuelle, voici un bout de code.
    Il reconstitue tes "futurs Objets" dans chaque item d'une liste (sous forme de chaines pour le moment).
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
        Public Sub ObjetsXML2()
     
            Dim FichierSource As New StreamReader(Application.StartupPath & "\Test1.csv")
            Dim LigneActive As String
            Dim Tableau() As String
     
            Dim DocXML As XmlDocument = New XmlDocument()
     
            DocXML.LoadXml("<Bd_Objets></Bd_Objets>")
     
            Dim elemTitre As XmlElement
            elemTitre = DocXML.CreateElement("Titre")
            elemTitre.InnerText = "Objets_2013"
            Dim elemDate As XmlElement
            elemDate = DocXML.CreateElement("Date")
            elemDate.InnerText = "11/02/2013"
            Dim elemAuteur As XmlElement
            elemAuteur = DocXML.CreateElement("Auteur")
            elemAuteur.InnerText = "Docteur26"
     
            DocXML.DocumentElement.AppendChild(elemTitre)
            DocXML.DocumentElement.AppendChild(elemDate)
            DocXML.DocumentElement.AppendChild(elemAuteur)
     
            'Reconstitution des lignes dans une liste.
            Dim strList As New List(Of String)
            Dim str As String = ""
     
            Do
                LigneActive = FichierSource.ReadLine()
                'Si la ligne existe, on la débarrasse de tout espace blanc devant ou derrière.
                If Not LigneActive Is Nothing Then
                    LigneActive = LigneActive.Trim
                    'Si la ligne est vide, elle est ignorée.
                    If Not String.IsNullOrEmpty(LigneActive) Then
                        'on recompose la String qui sera sauvegardée dans la liste.
                        If Not LigneActive.StartsWith(";") Then
                            If Not String.IsNullOrEmpty(str) Then
                                strList.Add(str)
                            End If
                            str = LigneActive
                        Else
                            Tableau = Split(LigneActive, ";")
                            str += (";" & Tableau(3) & ";" & Tableau(4) & ";" & Tableau(5))
                        End If
                    End If
                Else
                    'Dernier enregistrement à sauvegarder.
                    strList.Add(str)
                End If
     
            Loop Until LigneActive Is Nothing
     
     
            'On construit le XML depuis les données de la liste.
            'NB : il faut créer à chaque tour les mêmes éléments si l'on veut qu'ils s'enregistre dans le XML.
            Dim tabListe() As String
            For Each it In strList
                tabListe = Split(it, ";"c)
                Dim elemObjet As XmlElement
                elemObjet = DocXML.CreateElement("Objet")
                Dim elemNom As XmlElement
                elemNom = DocXML.CreateElement("Nom")
                Dim elemDateDeCreation As XmlElement
                elemDateDeCreation = DocXML.CreateElement("DateDeCreation")
                Dim elemType As XmlElement
                elemType = DocXML.CreateElement("Type")
                Dim elemCaracteristique As XmlElement
                elemCaracteristique = DocXML.CreateElement("Caracteristiques")
                Dim elemCoordonnee As XmlElement
                elemCoordonnee = DocXML.CreateElement("Coordonnees")
                Dim elemAbscisse As XmlElement
                elemAbscisse = DocXML.CreateElement("Abscisse")
                Dim elemOrdonnee As XmlElement
                elemOrdonnee = DocXML.CreateElement("Ordonnee")
                Dim elemHauteur As XmlElement
                elemHauteur = DocXML.CreateElement("Hauteur")
                Dim elemOrigine As XmlElement
                elemOrigine = DocXML.CreateElement("Origine")
     
                elemNom.InnerText = tabListe(0)
                elemType.InnerText = tabListe(1)
                elemDateDeCreation.InnerText = tabListe(2)
                elemAbscisse.InnerText = tabListe(3)
                elemOrdonnee.InnerText = tabListe(4)
                elemHauteur.InnerText = tabListe(5)
     
                DocXML.DocumentElement.AppendChild(elemObjet)
                elemObjet.AppendChild(elemNom)
                elemObjet.AppendChild(elemDateDeCreation)
                elemObjet.AppendChild(elemType)
                elemObjet.AppendChild(elemCaracteristique)
                elemCaracteristique.AppendChild(elemCoordonnee)
                elemCoordonnee.AppendChild(elemAbscisse)
                elemCoordonnee.AppendChild(elemOrdonnee)
                elemCaracteristique.AppendChild(elemHauteur)
     
                'On enregistre les coordonnées supplémentaires.
                If tabListe.Count > 6 Then
                    For i As Integer = 2 To (tabListe.Count - 3) / 3
                        Dim elemCaracteristique1 As XmlElement
                        elemCaracteristique1 = DocXML.CreateElement("Caracteristiques")
                        Dim elemCoordonnee1 As XmlElement
                        elemCoordonnee1 = DocXML.CreateElement("Coordonnees")
                        Dim elemAbscisse1 As XmlElement
                        elemAbscisse1 = DocXML.CreateElement("Abscisse")
                        Dim elemOrdonnee1 As XmlElement
                        elemOrdonnee1 = DocXML.CreateElement("Ordonnee")
                        Dim elemHauteur1 As XmlElement
                        elemHauteur1 = DocXML.CreateElement("Hauteur")
     
                        elemAbscisse1.InnerText = tabListe(i * 3)
                        elemOrdonnee1.InnerText = tabListe(i * 3 + 1)
                        elemHauteur1.InnerText = tabListe(i * 3 + 2)
     
                        elemObjet.AppendChild(elemCaracteristique1)
                        elemCaracteristique1.AppendChild(elemCoordonnee1)
                        elemCoordonnee1.AppendChild(elemAbscisse1)
                        elemCoordonnee1.AppendChild(elemOrdonnee1)
                        elemCaracteristique1.AppendChild(elemHauteur1)
                    Next
                End If
                elemObjet.AppendChild(elemOrigine)
            Next
            DocXML.Save(Application.StartupPath & "\Test2.xml")
     
        End Sub
    La notion d'objets et leur enregistrement dans leur forme (le lien de youtpout978) te deviendra naturel petit à petit.

  5. #5
    Membre averti
    Homme Profil pro
    Utilisation Privé de VB.NET
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Utilisation Privé de VB.NET

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut
    Merci pour votre aide.
    Concernant, le lien de "youtpout978", il faut voir que je suis débutant et que je programme (enfin j'essaie ...) de manière très ponctuel, n'étant pas du tout de la partie. Néanmoins, le sujet m'intéresse et étant assez cartésien je suis épaté de ce que peut faire une ligne de code bien construite. Malheureusement, même si je vais essayer de lire l'article, le préambule :
    Pré-requis : cet article s'adresse à des personnes maîtrisant les bases du langage C#.
    me laisse pas beaucoup d'espoir !!!
    Bref, revenons à nos moutons (ou plutôt à mon problème ), le code que "chrismonoye" a pris le temps d'écrire fonctionne encore une fois parfaitement.
    Il me reste juste à comprendre cette partie ;
    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
     'On enregistre les coordonnées supplémentaires.
                If tabListe.Count > 6 Then
                    For i As Integer = 2 To (tabListe.Count - 3) / 3
                        Dim elemCaracteristique1 As XmlElement
                        elemCaracteristique1 = DocXML.CreateElement("Caracteristiques")
                        Dim elemCoordonnee1 As XmlElement
                        elemCoordonnee1 = DocXML.CreateElement("Coordonnees")
                        Dim elemAbscisse1 As XmlElement
                        elemAbscisse1 = DocXML.CreateElement("Abscisse")
                        Dim elemOrdonnee1 As XmlElement
                        elemOrdonnee1 = DocXML.CreateElement("Ordonnee")
                        Dim elemHauteur1 As XmlElement
                        elemHauteur1 = DocXML.CreateElement("Hauteur")
     
                        elemAbscisse1.InnerText = tabListe(i * 3)
                        elemOrdonnee1.InnerText = tabListe(i * 3 + 1)
                        elemHauteur1.InnerText = tabListe(i * 3 + 2)
     
                        elemObjet.AppendChild(elemCaracteristique1)
                        elemCaracteristique1.AppendChild(elemCoordonnee1)
                        elemCoordonnee1.AppendChild(elemAbscisse1)
                        elemCoordonnee1.AppendChild(elemOrdonnee1)
                        elemCaracteristique1.AppendChild(elemHauteur1)
                    Next
                End If
    pour que je puisse être capable de l'ajuster à un autre type de fichier CSV (nb. différent de colonnes par exemple).
    Donc, à quoi correspondent précisément, les valeurs :

    ______If tabListe.Count > 6

    ______For i As Integer = 2 To (tabListe.Count - 3) / 3

    ______elemAbscisse1.InnerText = tabListe(i * 3) ...


  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Il s'agit d'un calcul sur la base de la structure des données.
    Exemple d'extrait du CSV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Ligne ; Lig_3 ; 12/02/2013 ; X_Pt_4 ; Y_Pt_4 ; Z_Pt_4
      ;  ;  ; X_Pt_5 ; Y_Pt_5 ; Z_Pt_5
    ;  ; ; X_Pt_6 ; Y_Pt_6 ; Z_Pt_6
    ;  ;; X_Pt_7 ; Y_Pt_7 ; Z_Pt_7
       ;  ;; X_Pt_8 ; Y_Pt_8 ; Z_Pt_8
    Sa transformation dans la liste de récupération donnera l'item suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ligne ; Lig_3 ; 12/02/2013 ; X_Pt_4 ; Y_Pt_4 ; Z_Pt_4; X_Pt_5 ; Y_Pt_5 ; Z_Pt_5; X_Pt_6 ; Y_Pt_6 ; Z_Pt_6; X_Pt_7 ; Y_Pt_7 ; Z_Pt_7; X_Pt_8 ; Y_Pt_8 ; Z_Pt_8
    La plus petite entité comprend 6 membres (la présentation(3) + le premier point en 3D(3)) et ce sont eux que l'on entre d'office dans le XML.
    Si notre item dépasse les 6 membres il faut compléter notre objet avec les points restants, on calcule donc leur nombre soit le total des membres - 3 (la présentation) et divisé par 3 (X,Y,Z).
    On démarre à 2 pour écrire les points restants au XML, car le 1er est déjà inscrit.
    Il est évident que chaque modification et évolution de l'application, nécessitera de revoir le code...

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

Discussions similaires

  1. Export JTree vers XML
    Par khaledUSTHB dans le forum Composants
    Réponses: 0
    Dernier message: 03/04/2009, 11h24
  2. BO Data Integrator : Transformer CSV vers XML
    Par Sto59 dans le forum BODI
    Réponses: 8
    Dernier message: 11/12/2008, 14h29
  3. une table à transformer vers xml java
    Par hichcasa dans le forum Services Web
    Réponses: 4
    Dernier message: 30/11/2008, 12h31
  4. Limite d'une exportation 3DS vers OBJ
    Par Rifton007 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 09/01/2008, 23h09
  5. exporter BD vers XML
    Par catherine* dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 06/09/2007, 17h51

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