IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linq Discussion :

Architecture XML / requete LINQ


Sujet :

Linq

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Architecture XML / requete LINQ
    Bonjour,

    Je debute en LINQ et pas facile de m'en sortir tout seul.
    Voici mon probleme:

    Je souhaite stocker les dividendes de compagnies dans un fichier XML et via une requête LINQ accéder au dernier dividende de chaque entreprise (c'est à dire au couple (RIC, Ex_Date, AMOUNT, CCY)

    Voici comment se presente mon fichier XML:

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <root>
      <Equity>
        <Ric>MSFT</Ric>
        <Dividend>
    	<EX_DATE>2011-02-28</EX_DATE>
        	<AMOUNT>0.25</AMOUNT>
    	<CCY>EUR</CCY>
        </Dividend>
        <Dividend>
        	<EX_DATE>2011-02-18</EX_DATE>
        	<AMOUNT>0.15</AMOUNT>
        	<CCY>EUR</CCY>
        </Dividend>
        <Dividend>
        	<EX_DATE>2011-02-08</EX_DATE>
        	<AMOUNT>0.01</AMOUNT>
        	<CCY>EUR</CCY>
        </Dividend>
        <Dividend>
        	<EX_DATE>2011-01-28</EX_DATE>
        	<AMOUNT>0.05</AMOUNT>
        	<CCY>EUR</CCY>
        </Dividend>  
      </Equity>
      <Equity>
        <Ric>FTE</Ric>
        <Dividend>
        	<EX_DATE>2011-01-18</EX_DATE>
        	<AMOUNT>0.04</AMOUNT>
        	<CCY>EUR</CCY>
        </Dividend>
      </Equity>
    </root>
    et voici mon code C#:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    XDocument xdoc = XDocument.Load(@path + "\\_dividend.xml");
    var singleDividend = (from p in xdoc.Root.Descendants("Equity")
                                 group p by p.Elements("Equity") into g
                                 let lastExDate = g.Max(u => u.Element("Dividend").Element("EX_DATE").Value  )
                                 select new { Ric = g.Key , Ex_Date = g.Where(u => u.Element("Dividend").Element("EX_DATE").Value == lastExDate) });
     
    foreach (var xe in singleDividend)
    {
          Console.WriteLine(xe.Ric );
          Console.WriteLine(xe.Ex_Date);
    }
    Ce qui me sort à la console n'est pas du tout le Ric ni la date escompté mais:

    System.Xml.Linq.XContainer+<GetElements>d__11
    System.Linq.Enumerable+WhereEnumerableIterator`1[System.Xml.LinqXElement]
    Merci de m'aider

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'est bon j'ai trouvé!!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var singleDividend =
                        (from p in xdoc.Root.Descendants("Equity")
                         select new { Ric = (string)p.Element("Ric"), Ex_Date = p.Elements("Dividend").Elements("EX_DATE").Max(u => u.Value) });
     
                foreach (var xe in singleDividend)
                {
                    Console.WriteLine(xe.Ric );
                    Console.WriteLine(xe.Ex_Date);
                }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme requete linq to xml
    Par rikoukiki dans le forum Linq
    Réponses: 4
    Dernier message: 12/04/2010, 16h15
  2. Réponses: 1
    Dernier message: 22/12/2009, 20h05
  3. aide pour une requete LINQ to XML
    Par flo1981 dans le forum Linq
    Réponses: 1
    Dernier message: 14/09/2009, 15h37
  4. Linq to xml - requete sur un attribut
    Par Gregory.M dans le forum Linq
    Réponses: 3
    Dernier message: 07/11/2008, 14h32
  5. Réponses: 3
    Dernier message: 05/11/2008, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo