2014-09-20 2 views
1

Disons que j'ai un fichier XML avec des informations des patients qui ressemble à:Comment désérialiser un .XML dans une liste

<?xml version="1.0" encoding="utf-8"?> 
<ArrayOfPatient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <Patient> 
    <firstName>Vince</firstName> 
    <lastName>Smith</lastName> 
    <dateOfBirth>05/05/1912</dateOfBirth> 
    <phone>3056988877</phone> 
    <email>[email protected]</email> 
    <insurance>Humana</insurance> 
    <typeOfPlan>PPA</typeOfPlan> 
    <subID>123456</subID> 
    <planID>654321</planID> 
    </Patient> 
    <Patient> 
    <firstName>Mark</firstName> 
    <lastName>Jones</lastName> 
    <dateOfBirth>05/05/1992</dateOfBirth> 
    <phone>3058877457</phone> 
    <email>[email protected]</email> 
    <insurance>PlanB</insurance> 
    <typeOfPlan>PPO</typeOfPlan> 
    <subID>987987</subID> 
    <planID>987987</planID> 
    </Patient> 

Comment puis-je charger ces informations dans une liste de patients dans Visual Studios? C'est ma tentative mais j'obtiens une erreur:

Dim Patients As New List(Of Patient) 
Dim p As New Patient 
Dim reader As New StreamReader("..\..\patients.xml") 
Dim serial As New XmlSerializer(GetType(List(Of Patient))) 
For Each paciente In serial.Deserialize(reader) 
    Patients.Add(paciente) 
Next 

Cependant, cela me renvoie une erreur d'expression non gérée.

La classe de patient a juste toutes les propriétés pour tous les champs dans le XML.

+0

Quel est le message de l'exception? – dotnetom

+0

Et: en plus du texte complet du message: est-ce une erreur de compilation? Ou une erreur d'exécution? Si c'est runtime: assurez-vous d'inclure également le message de l'exception interne - et tout le chemin jusqu'à ce que l'exception interne soit nulle. –

Répondre

0

Cette devrait être juste être une coulée. Mon VB est rouillé, mais en C#:

List<Patient> patients = (List<Patient>)serial.Deserialize(reader); 

Le sérialiseur devrait déjà renvoyer une liste.

Questions connexes