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.