2009-07-27 9 views

Répondre

1

Personnellement, je trouve que LINQ to SQL + LINQ to XML fonctionne très bien, tant que le résultat est assez petit pour tenir confortablement dans la mémoire (c'est-à-dire que ce n'est pas aussi bon pour une solution de streaming). Par exemple, j'ai une seule instruction (très grande) qui convertit les éléments de ma base de données en flux RSS. C'est fondamentalement une approche déclarative, et cela fonctionne bien. Il est quelque chose comme ceci:

XDocument doc = new XDocument(
    new XDeclaration("1.0", "UTF-8", "yes"), 
    new XElement("rss", 
     new XAttribute("version", "2.0"), 
     new XElement("channel", 

      new { title="C# in Depth news", 
        link ="http://csharpindepth.com/News.aspx", 
        description = "C# in Depth news items", 
        language = "en-gb", 
        generator = "LINQ", 
        docs = "http://blogs.law.harvard.edu/tech/rss", 
        pubDate = DateTimeOffset.UtcNow.ToString 
         (Rfc822Format, CultureInfo.InvariantCulture), 
        lastBuiltDate = items.First().CreatedDate.ToString 
         (Rfc822Format, CultureInfo.InvariantCulture), 
      }.AsXElements(), 
      items.Select(item => 
       new XElement("item", 
        new { title=item.Title, 
          link=string.Format(LinkFormat, item.NewsItemID), 
          description=item.Summary, 
          author="[email protected]", 
          pubDate = item.CreatedDate.ToString 
           (Rfc822Format, CultureInfo.InvariantCulture) 
        }.AsXElements() 
       ) 
      ) 
     ) 
    ) 
); 

qui utilise une méthode peu d'extension, je dois convertir des types anonymes en XElements - il est disponible en MiscUtil, et fait la chose évidente.

(Et oui, je devrais probablement avoir une méthode pour convertir des dates au format RFC822 ...)

0

Pour créer flux rss je préfère http://www.rssdotnet.com/, il les classes fonctionnent très bien et que vous travaillez avec des objets qu'il fait générer votre sortie assez facile si vous avez une sorte de DAL.

0

Vous pouvez toujours sortir le code XML de la base de données directement, puis le manipuler en conséquence pour ajouter le noeud racine et les attributs corrects. C'est très simple dans SQL Server 2005 et versions ultérieures.

This answer fournit quelques détails sur certaines des options que vous avez.

Questions connexes