C# Parser XML Recherche par date
Bonjour,
Je développe une application qui permet de faire une moyenne du temps de communication des utilisateurs.
Actuellement je récupère donc un fichier xml, lorsque je rentre le numéro d'un utilisateur, tous le fichier est parcouru et j'ai donc une moyenne qui s'affiche.
Cependant, je voudrais avoir une moyenne par mois, j'ai donc mis un datepicker mais je bloque légèrement ..!!
Exemple d'un nœud xml :
Code:
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
| <CallAccounting xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="CAPTicket_V001.001.xsd">
<OmniPCXOffice>
<SoftwareVersion>3EH30504DPAA ALZFR820/055.001</SoftwareVersion>
<CPUIPAddress>ipaddress</CPUIPAddress>
</OmniPCXOffice>
<Checksum>808632064</Checksum>
<TicketType>Call</TicketType>
<ChargedUserType>A</ChargedUserType>
<ChargedUserID>1114</ChargedUserID>
<SubscriberName>NOM Prenom</SubscriberName>
<CommunicationType>Outgoing</CommunicationType>
<TrunkType>P</TrunkType>
<TrunkID>001</TrunkID>
<Date>2014-05-06</Date>
<Time>16:14:00</Time>
<CallDuration>00:04:24</CallDuration>
<TaxesAmount>0</TaxesAmount>
<Service>ST</Service>
<DialledNumber>0491759075</DialledNumber>
<DiallingMode>M</DiallingMode>
<RingingDuration>00:00:00</RingingDuration>
<Cost>0.00</Cost>
<Entity>1</Entity>
<Currency>EUR</Currency>
</CallAccounting> |
Lorsque je fais la moyenne de l'utilisateur :
Code:
1 2 3 4 5 6 7 8 9 10 11
| var number = var number = from call in doc.Root.Elements("CallAccounting")
where call.Element("ChargedUserID").Value == textBox2.Text
select call;
var moyenne = number.Sum(call => TimeSpan.Parse(call.Element("CallDuration").Value).TotalSeconds);
TimeSpan t = TimeSpan.FromSeconds(moyenne);
string answer = string.Format("{0:D2}h:{1:D2}m:{2:D2}s",
t.Hours,
t.Minutes,
t.Seconds);
listView1.Items.Add("Moyenne du temps de communication : " + answer); |
Faut-il utiliser des expressions régulières ?