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>Ma base de données est composée de lignes "cut" avec un id "ident".
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 ________________________________________
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.
Partager