2009-10-30 8 views
0

Je cherche à prendre le résultat d'une procédure stockée SQL Server et la transformer en XML dans .NET/C#résultats de la procédure Convertir requête/stockée définie sur XML

Ce que je suis intéressé par est ce que les bibliothèques standards Il y a .NET pour aider avec les spécificités de la génération de XML et s'il y a des bibliothèques externes ou des astuces qui peuvent aider à automatiser la transformation de l'ensemble de résultats en XML.

J'ai regardé les options XML dans SQL Server (05) dans le passé mais elles ne sont pas assez puissantes pour ce dont j'ai besoin.

+0

comment sont les capacités XML de SQL Server (quelle version ??) pas assez puissant ?? Ce serait certainement mon premier choix - faire le traitement XML sur le serveur en premier lieu. –

+0

Pouvez-vous nous montrer à quoi ressemble votre tableau et quelle est la sortie désirée? –

+0

C'était en 2005, je ne peux pas me rappeler les détails, mais pour les schémas non triviaux j'ai rencontré des problèmes où je ne pouvais pas produire tout ce dont j'avais besoin. J'ai beaucoup regardé à l'époque – AJM

Répondre

3

Il existe essentiellement deux technologies prêtes à l'emploi dans .NET qui vous permettront de créer du XML. Dans les deux cas, vous n'aurez pas à écrire un peu de code.

1) l'approche XmlDocument, par ex. le XML DOM basé sur la façon de faire les choses. Vous créez un XmlDocument, créez des nœuds, définissez des attributs, créez des nœuds enfants, etc., et enregistrez tout sur le disque à la fin.

Plus: fonctionne sur .NET 1.x et plus, est assez répandu et bien connu Inconvénients: est un peu « maladroit », vous permet de rester structure XML tout en mémoire

Voir plus d'informations dans le MSDN docs et des articles et billets de blogs innombrables sur l'approche web

2) Ensuite il y a le plus récent LINQ to XML, où vous créez votre document à l'aide des déclarations Linq. Ceci est disponible dans .NET 3.5 et seulement, et certains l'aiment, d'autres le détestent avec beaucoup de passion :-)

Plus: si vous aimez LINQ, il se sent tout à fait naturel et plus "direct" que le approche DOM XML Moins: uniquement sur .NET 3.5 et jusqu'à

voir articles et billets de blog sur le sujet:

Certainement beaucoup plus là-bas - juste bing ou google pour "linq to xml".

+0

Trébuché sur cette discussion aussi bien sur XDocument vs XmlDocument - http://stackoverflow.com/questions/1542073/xdocument-or-xmldocument – AJM

+0

@AJM: super lien, merci - Jon Skeet a raison sur le point (comme d'habitude) –

1

Definitelly utilise System.Xml.Linq (XDocument, XElement, etc) à partir de .NET 3.5 Il est supérieur et facile à utiliser. Pas besoin d'une bibliothèque externe (pour la plupart)

Questions connexes