Désérialiser collection généric VB.NET (xml)
milou43
Messages postés
13
Date d'inscription
Statut
Membre
Dernière intervention
-
milou43 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
milou43 Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute dans les collections en VB.NET.
J'essaie de programmer en vb.net le cas NETCAR (étude de cas du bts ig 2003) pour ceux qui connaissent.
Lien pour télécharger le cas et avoir plus d'informations (diagramme de classe, détail des classes) :
http://www.reseaucerta.org/sujets/matiere.php?pageNum_pubs=1&totalRows_pubs=29&c=0&f=5&m=8
Je voudrais désérialiser la collection de véhicule qui est dans mon fichier Vehicule.xml pour mettre celle-ci dans ma collection qui est dans la classe Atelier (_lesVéhicules).
Mais avec le code que je vous ai fourni plus bas une erreur s'affiche lors de la désérialisation : "l'exception nullreferenceexception n'a pas été gérée
La référence d'objet n'est pas définie à une instance d'un objet."
Classe Atelier :
Imports System.Xml.Serialization
Imports System.Collections.Generic
<Serializable()> Public Class Atelier
Private _lesTypesExistants As New List(Of EntretienType)
Private _lesVehicules As New List(Of Vehicule)
Public Sub New()
_lesVehicules = New List(Of Vehicule)
_lesTypesExistants = New List(Of EntretienType)
End Sub
Public Property lesVehicules() As List(Of Vehicule)
Get
Return _lesVehicules
End Get
Set(ByVal value As List(Of Vehicule))
_lesVehicules = value
End Set
End Property
End Class
Classe Vehicule :
Imports System.IO
Imports System.Xml.Serialization
Imports System.Collections.Generic
<Serializable()> Public Class Vehicule
Private _numImma As String
Private _nbKmActuel As Integer
Sub New()
End Sub
Sub New(ByVal unNumImma As String, ByVal unNbKmActuel As Integer)
_numImma = unNumImma
_nbKmActuel = unNbKmActuel
End Sub
Public Property numImma() As String
Get
Return _numImma
End Get
Set(ByVal value As String)
_numImma = value
End Set
End Property
Public Property nbKmActuel() As Integer
Get
Return _nbKmActuel
End Get
Set(ByVal value As Integer)
_nbKmActuel = value
End Set
End Property
End Class
Form1:
Public Class Form1
Private vehicule As Vehicule
Private atelier As Atelier
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim atelier As New Atelier()
Charger()
DGV_Vehicule()
End Sub
Sub Charger()
If File.Exists("Vehicule.xml") Then
Dim FluxDeFichier As Stream = File.OpenRead("Vehicule.xml")
Dim Deserialiseur As New XmlSerializer(GetType(List(Of Vehicule)))
atelier.lesVehicules = Deserialiseur.Deserialize(FluxDeFichier)
FluxDeFichier.Close()
End If
End Sub
Fichier Vehicule.xml :
<?xml version="1.0"?>
<ArrayOfVehicule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Vehicule>
<numImma>Avatar69</numImma>
<nbKmActuel>2009</nbKmActuel>
</Vehicule>
<Vehicule>
<numImma>2725KD43</numImma>
<nbKmActuel>220500</nbKmActuel>
</Vehicule>
<Vehicule>
<numImma>5609JK69</numImma>
<nbKmActuel>54000</nbKmActuel>
</Vehicule>
</ArrayOfVehicule>
Merci d'avance.
Je débute dans les collections en VB.NET.
J'essaie de programmer en vb.net le cas NETCAR (étude de cas du bts ig 2003) pour ceux qui connaissent.
Lien pour télécharger le cas et avoir plus d'informations (diagramme de classe, détail des classes) :
http://www.reseaucerta.org/sujets/matiere.php?pageNum_pubs=1&totalRows_pubs=29&c=0&f=5&m=8
Je voudrais désérialiser la collection de véhicule qui est dans mon fichier Vehicule.xml pour mettre celle-ci dans ma collection qui est dans la classe Atelier (_lesVéhicules).
Mais avec le code que je vous ai fourni plus bas une erreur s'affiche lors de la désérialisation : "l'exception nullreferenceexception n'a pas été gérée
La référence d'objet n'est pas définie à une instance d'un objet."
Classe Atelier :
Imports System.Xml.Serialization
Imports System.Collections.Generic
<Serializable()> Public Class Atelier
Private _lesTypesExistants As New List(Of EntretienType)
Private _lesVehicules As New List(Of Vehicule)
Public Sub New()
_lesVehicules = New List(Of Vehicule)
_lesTypesExistants = New List(Of EntretienType)
End Sub
Public Property lesVehicules() As List(Of Vehicule)
Get
Return _lesVehicules
End Get
Set(ByVal value As List(Of Vehicule))
_lesVehicules = value
End Set
End Property
End Class
Classe Vehicule :
Imports System.IO
Imports System.Xml.Serialization
Imports System.Collections.Generic
<Serializable()> Public Class Vehicule
Private _numImma As String
Private _nbKmActuel As Integer
Sub New()
End Sub
Sub New(ByVal unNumImma As String, ByVal unNbKmActuel As Integer)
_numImma = unNumImma
_nbKmActuel = unNbKmActuel
End Sub
Public Property numImma() As String
Get
Return _numImma
End Get
Set(ByVal value As String)
_numImma = value
End Set
End Property
Public Property nbKmActuel() As Integer
Get
Return _nbKmActuel
End Get
Set(ByVal value As Integer)
_nbKmActuel = value
End Set
End Property
End Class
Form1:
Public Class Form1
Private vehicule As Vehicule
Private atelier As Atelier
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim atelier As New Atelier()
Charger()
DGV_Vehicule()
End Sub
Sub Charger()
If File.Exists("Vehicule.xml") Then
Dim FluxDeFichier As Stream = File.OpenRead("Vehicule.xml")
Dim Deserialiseur As New XmlSerializer(GetType(List(Of Vehicule)))
atelier.lesVehicules = Deserialiseur.Deserialize(FluxDeFichier)
FluxDeFichier.Close()
End If
End Sub
Fichier Vehicule.xml :
<?xml version="1.0"?>
<ArrayOfVehicule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Vehicule>
<numImma>Avatar69</numImma>
<nbKmActuel>2009</nbKmActuel>
</Vehicule>
<Vehicule>
<numImma>2725KD43</numImma>
<nbKmActuel>220500</nbKmActuel>
</Vehicule>
<Vehicule>
<numImma>5609JK69</numImma>
<nbKmActuel>54000</nbKmActuel>
</Vehicule>
</ArrayOfVehicule>
Merci d'avance.
A voir également:
- Désérialiser collection généric VB.NET (xml)
- Xml download - Télécharger - Édition & Programmation
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
- Idp generic ✓ - Forum Virus
- Collection facebook qui a vu - Forum Facebook