Ich experimentiere mit der Serialisierung und Deserialisierung von CSV-Dateien und frage mich, ob es eine existierende Bibliothek gibt, ähnlich dem XmlSerializer, die deklarativ Objekte definieren und sie zu / von einer Datei oder einem Stream serialisieren kann. Ich habe mich ein wenig umgeschaut, aber nichts über die Serialisierung gefunden. Ich habe bereits ziemlich festen Code für das Parsen von CSV-Dokumenten per RFC 4180, aber was wirklich hilfreich ist, ist der Serialisierungsteil. Was ich nicht suche, ist nur ein Parser, ein Hinweis zur Verwendung von String.Split (), etc.
Gibt es da draußen ein bestehendes Projekt oder soll ich eines erstellen?
Bonus-Etikette Frage: Wenn ich am Ende meinen eigenen Serialisierer rolle, ist es angebracht, diese Frage mit einem Link zum Codeplex-Projekt zu beantworten?
Ich würde servicestack.text zu diesem Zweck wärmstens empfehlen. Verfügbar auf nuget:
%Vor%Es unterstützt die Serialisierung für viele Datenformate und im Gegensatz zum eingebauten XmlSerializer müssen Sie nicht alle Ihre Eigenschaften mit Attributen versehen. Hier ist ein Beispiel für die Serialisierung in CSV.
%Vor%Ich habe dieses Projekt (CsvHelper) in der Vergangenheit verwendet, und es funktioniert ähnlich wie in den .NET-Serializer-Klassen in dem Sinne, dass Sie Attribute verwenden, um die Eingabe / Ausgabe zu erstellen.
Es gibt wirklich keine Notwendigkeit, Ihre eigenen zu rollen, da es Tonnen dort draußen gibt. Wenn Sie am Ende Ihre eigenen rollen, zögern Sie nicht, es zu posten. Die meisten Benutzer geben bei der Beantwortung einer Frage mit etwas, das sie selbst geschrieben haben (oder in irgendeiner Art und Weise verbunden sind), normalerweise einen Haftungsausschluss, in dem sie dies als Höflichkeit angeben.
Sie sollten einen Blick in die FileHelpers-Bibliothek werfen.
Ein Beispielcode von ihrer Site:
%Vor%Tags und Links c# serialization csv