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

Windows Forms Discussion :

[VB.net]Lecture xml vers dataset : prob avec sous noeuds


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut [VB.net]Lecture xml vers dataset : prob avec sous noeuds
    Bonjour,

    Après une recherche dans le forum et chez Microsoft(http://samples.gotdotnet.com/quickst...Document.aspx), je n'arrive toujours pas à trouver une solution à mon problème.

    Avant de l'exposer et de montrer mon code de test, voici la base de données:

    Bonjour,
    Avant de vous exposer le problème et mon code, voici la base de données:
    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
     
    <?xml version="1.0" encoding="ISO-8859-1" ?> 
    - <job>
         <ident>mubea</ident> 
      - <bar>
               <ident>12345</ident> 
               <count>1</count>  
    -          <cut>
                     <ident>0031</ident>                               =>noeuds
                     <count>12</count> 
                     <length>2025.8</length> 
                     <v ident="Benennung" nr="1">01</v>     =>sous noeuds
                     <v ident="Ausführung" nr="2">002</v> 
                     <v ident="" nr="3">709</v>              
                     <v ident="" nr="4">0</v> 
                     <v ident="" nr="5">427883 002 070 FSS Flügel SS</v> 
         </cut>
        </bar>
    </job>
    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
     
        Public BaseDonnees As DataSet
        Public VueDonnees As DataView
        Public VueLigneDonnees As DataRowView
        Public FichXML As String
        Private MaTableDeDonnees As DataTable
        Private MaVueDeDonnees As DataView
    ________________________________________
     
    Public Sub ChargerGrille()
            'traitement
            Try
                'on renseigne le chemin du fichier XML
                FichXML = Application.StartupPath & "\options.xml"
                'on renseigne un dataset avec ce fichier XML sans shéma car inutile ici
                BaseDonnees = New DataSet
                BaseDonnees.ReadXml(FichXML)
                'on trie
                VueDonnees = Trier(BaseDonnees, "cut", "ident", True)
                'on renseigne le datagrid
                With DataGrid
                    .DataSource = VueDonnees.Table
                End With
     
            Catch exc As Exception
                MessageBox.Show("XML file not found.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
     End Sub
    ________________________________________
     
        Public Function Trier(ByVal DataSet As DataSet, ByVal Table As String, ByVal Propriete As String, ByVal TriAscendant As Boolean) As DataView
            Dim Tri As String 
            ' Génère une vue triée d'un dataset sur une propriété d'une de ses tables
            MaTableDeDonnees = DataSet.Tables(Table)      'Mettre dans un Objet DataTable une table du DataSet
            MaVueDeDonnees = MaTableDeDonnees.DefaultView      'Créer la vue
            If TriAscendant = True Then
                Tri = Propriete & " ASC"
            Else
                Tri = Propriete & " DESC"
            End If
            MaVueDeDonnees.Sort = Tri
            Return MaVueDeDonnees
        End Function
    ________________________________________
    Ma base de données est composée de lignes "cut" avec un id "ident".
    Quand je n'utilise que les paramètres type :
    <count>1</count>
    Ca fonctionne nickel et mon datagrid est rempli (avec une ligne, dans ce cas ci).
    Par contre, si je rajoute les sous noeuds type:
    <v ident="nom pour info" nr="1">valeur du paramètre</v>
    Le programme s'arrête dans ce cas, et il me dit qu'il n'arrive pas à lire les sous noeuds.
    J'aimerais savoir comment peut-on lire ces sous noeuds, récupérer la valeur du paramètre et le nom "vident" tout en pouvant lire les autres infos comme les premiers paramètres type <count>1</count>

    Je vous remercie d'avance pour votre aide et vos suggestions.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Pour résoudre ce problème, je lis le fichier et le recrée en virant une partie des infos des sous noeuds, pour avoir des enfants ayant la même déclaration et là, ça passe.

    En passant, pour recréer le fichier xml, je crée un fichier texte et écrit tout simplement les données comme un flux texte,n'y aurait-il pas une solution plus rapide? Je pense au xmlwriter mais je n'ai pas encore tout compris... C'est la bonne voie?

Discussions similaires

  1. Mapping d'un objet XML vers un autre avec Xquery
    Par amine_en_france dans le forum Oracle
    Réponses: 0
    Dernier message: 03/08/2009, 14h48
  2. XML: Prob avec sous-menu d'un menu déroulant
    Par SirTurbo dans le forum Valider
    Réponses: 1
    Dernier message: 26/03/2009, 09h08
  3. XML vers DataSet : Problème de caractère spéciaux
    Par verbal34 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 31/12/2008, 12h31
  4. du dataset vers xml et du xml vers dataset
    Par tarikmahf dans le forum C#
    Réponses: 1
    Dernier message: 26/01/2008, 19h25
  5. XML vers HTML - pb avec CDATA
    Par barnamax dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/07/2006, 11h37

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