Bonjour, d'abord je débute en XML et C#... d'où ce post
Suivant cet XML :
Je chercher à prende telle ou telle donnée. Alors je fais comme le code suivant qui fonctionne mais je sents à plein nez que c'est très très mauvais. Avez vous une solution plus optimisée afin que je débute sur de meilleure base ? :
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 <PROPOSALS version="13"> <PROPOSAL Number="200704010" Caption="le nom"> <ShowCaption>1</ShowCaption> <Indice>0</Indice> <ProposalType>0</ProposalType> <DateCreate>12/04/2007 10:58:53</DateCreate> <DateLastModif>31/07/2009 13:41:55</DateLastModif> <WriteBy>Adeline</WriteBy> <CaptionUser1>Chargee affaires :</CaptionUser1> <User1>Michel</User1> <CaptionUser2>Charge etudes :</CaptionUser2> <User2>Adeline</User2> <TownProposal>WAZIERS</TownProposal> <ClassCategorie>PLAFOND</ClassCategorie> <ClassFolder>47 W</ClassFolder> (..) </PROPOSAL> </PROPOSALS>
Merci
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 XPathDocument XPathDocu = new XPathDocument(Fichier); XPathNavigator Navigator; XPathNodeIterator Nodes; Navigator = XPathDocu.CreateNavigator(); /*----- LECTURE INFO DE BASE-----*/ XPathExpression xpe = Navigator.Compile("//PROPOSAL/ProposalHour"); XPathNodeIterator ni = Navigator.Select(xpe); while (ni.MoveNext()) { m_fTotalHour = float.Parse(ni.Current.Value); } CultureInfo provider = CultureInfo.InvariantCulture; provider = new CultureInfo("fr-FR"); xpe = Navigator.Compile("//PROPOSAL/StartWork"); ni = Navigator.Select(xpe); while (ni.MoveNext()) { datStart = DateTime.ParseExact(ni.Current.Value, "d", provider); }
Partager