Bonjour,
Avant de vous exposer le problème et mon code, voici la base de données:
<?xml version="1.0" encoding="ISO-8859-1" ?> <ident>0031</ident> =>noeuds
<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="5">427883 002 070 FSS Flügel SS</v>
</bar>
</job>
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 ou vos suggestions.