Est-il une telle chose comme un CSV Sérialiseur? (similaire à XmlSerializer)
Je suis toying autour de avec la sérialisation et la désérialisation des fichiers CSV et je me demandais si il existe une bibliothèque, un concept similaire à la XmlSerializer, qui peut de manière déclarative définir des objets et (de)sérialiser vers/à partir d'un fichier ou d'un ruisseau. J'ai regardé un peu partout mais n'ai rien trouvé axée sur la sérialisation. J'ai déjà assez solide code pour l'analyse CSV documents conformément à la norme RFC 4180, mais ce qui serait vraiment utile, est la sérialisation de la partie. Ce que je suis pas recherchez est juste un analyseur, des conseils pour utiliser des chaînes de caractères.Split(), etc.
Est-il un projet existant là-bas, ou devrais-je construire?
Bonus étiquette question: si je fais finir par rouler ma propre sérialiseur, est-il approprié pour répondre à cette question avec un lien vers le projet codeplex?
De réaffirmer et de souligner une partie de ma question initiale, je ne suis pas intéressé à tout simplement parcourant une liste et la concaténation de chaînes par des virgules. La question traite spécifiquement de manière déclarative de définir des objets (en fait de la même manière à l'aide de XmlElementAttribute) puis l'exécution de la (dé)sérialisation basé sur ces déclarations.
OriginalL'auteur Steve Konves | 2012-06-20
Vous devez vous connecter pour publier un commentaire.
Je vous recommande fortement de servicestack.texte à cette fin. Disponible sur nuget:
Il suports de sérialisation pour de nombreux formats de données et à la différence de la construction dans le XmlSerializer, vous n'avez pas besoin pour décorer toutes vos propriétés avec des attributs. Voici un exemple de sérialiser dans un fichier CSV.
Remarque c'est AGPL-licence.
Je crois que le commentaire de @nick66 n'est plus vrai de voir ici pour la désérialisation de détails
Commentaire par @RoyTinker n'est plus valide: ServiseStack.Le texte est maintenant complètement gratuit pour une utilisation commerciale ainsi
Cette page vous lié à dit, mais je ne vois pas ce que n'importe où ailleurs. Pas sur leur repo, pas sur NuGet (cliquez sur la "Licence" link). C'est toujours soit l'AGPL ou limitée/payé commercial.
OriginalL'auteur Will Munn
J'ai utilisé ce projet (CsvHelper) dans le passé, et il fonctionne de manière similaire à la construire .NET sérialiseur classes dans le sens que vous utilisez les attributs de l'artisanat d'entrée/sortie.
Il n'y a vraiment pas besoin de rouler, car il y a des tonnes. Si vous ne finissent par rouler votre propre, n'hésitez pas à le poster. La plupart des utilisateurs, répondant à une question avec quelque chose qu'ils ont écrit eux-mêmes (ou sont affiliés quelque sorte) l'habitude de donner un avertissement disant qu'une visite de courtoisie.
OriginalL'auteur wsanville
Vous devriez jeter un oeil dans FileHelpers Bibliothèque.
Un exemple de code à partir de leur site:
OriginalL'auteur João Angelo