Bonjour le forum
Voici ma problématique du jour :
j'ai un XML :
une Classe Xml Provider :
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 <Enregistrements> <Enregistrement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" TypeEnregistrement="APS" Batiment="A" Etage="RdC" Local="001" FullName="ARdC001" Y="0,8" K="1" VitessePlb="1,5"> <APS Id="1" Profil="Standard" Nom="WC avec reservoir" DebitUnitaire="0.12" CoefficientAPSIndividuel="0.5" EF="true" EC="false" Quantite="10" /> <APS Id="2" Profil="Standard" Nom="Urinoir avec robinet individuel" DebitUnitaire="0.15" CoefficientAPSIndividuel="0.5" EF="true" EC="false" Quantite="0" /> <APS Id="3" Profil="Standard" Nom="Urinoir à action siphonique" DebitUnitaire="0.5" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" /> <APS Id="4" Profil="Standard" Nom="Lavabo collectif" DebitUnitaire="0.05" CoefficientAPSIndividuel="0.5" EF="true" EC="true" Quantite="0" /> <APS Id="5" Profil="Standard" Nom="Lavabo / Vasque" DebitUnitaire="0.2" CoefficientAPSIndividuel="1.5" EF="true" EC="true" Quantite="20" /> <APS Id="6" Profil="Standard" Nom="Lave mains" DebitUnitaire="0.1" CoefficientAPSIndividuel="0.5" EF="true" EC="true" Quantite="0" /> <APS Id="7" Profil="Standard" Nom="Douche" DebitUnitaire="0.2" CoefficientAPSIndividuel="2" EF="true" EC="true" Quantite="0" /> <APS Id="8" Profil="Standard" Nom="Baignoire" DebitUnitaire="0.2" CoefficientAPSIndividuel="3" EF="true" EC="true" Quantite="0" /> <APS Id="9" Profil="Standard" Nom="Evier" DebitUnitaire="0.2" CoefficientAPSIndividuel="2.5" EF="true" EC="true" Quantite="0" /> <APS Id="10" Profil="Standard" Nom="Lave vaiselle" DebitUnitaire="0.1" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" /> <APS Id="11" Profil="Standard" Nom="Lave linge" DebitUnitaire="0.2" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" /> <APS Id="12" Profil="Standard" Nom="Robinet de puisage" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="false" Quantite="0" /> <APS Id="13" Profil="Standard" Nom="Bouche incongelable" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="false" Quantite="0" /> <APS Id="14" Profil="Standard" Nom="Vidoir / Poste d'eau" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="true" Quantite="0" /> <APS Id="15" Profil="Standard" Nom="Autre" DebitUnitaire="0" CoefficientAPSIndividuel="0" EF="false" EC="false" Quantite="0" /> <APSCHASSE Id="25" Profil="Standard" Nom="WC avec robinet de chasse" DebitUnitaire="1.5" EF="true" QuantiteChasse="0" /> <APSCHASSE Id="26" Profil="Standard" Nom="Autre avec robinet de chasse" DebitUnitaire="0" EF="true" QuantiteChasse="0" /> </Enregistrement> </Enregistrements>
et dans mon View Model
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 class EnregistrementXmlProvider : IDataEnregistrement<Enregistrement> public IEnumerable<Enregistrement> GetAll() { return doc.Descendants("Enregistrement").Select(element => element.FromXElement<Enregistrement>()); }
Je voudrais récupérer tous les élements <APS> dans un ObservableCollection<APS> en fonction d'un critère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var getallenregistrement = EnregistrementProvider.GetAll(); Enregistrements = new ObservableCollection<Enregistrement>(getallenregistrement);
j'ai essayé cela
mais aps me retourne null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var aps = Enregistrements.Where(s => s.FullName == SelectedItemValue).SelectMany(e => e.APS) as ObservableCollection<APS>; Aps = new ObservableCollection<APS>(aps);
Auriez vous une suggestion.
Partager