Ich möchte in der Lage sein, vCard und vCalendar-Daten mit .NET zu lesen, ich habe etwas, das dies tut, und habe die Spezifikation betrachtet.
Für diejenigen, die nicht vertraut mit dem Format hier einige Testdaten aus meiner aktuellen Anwendung:Lesen von vCalendar und vCard mit .NET?
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Microsoft Corporation//Windows Calendar 1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Greenwich Mean Time : Dublin\, Edinburgh\, Lisbon\, London
BEGIN:STANDARD
DTSTART:20001029T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:GMT Standard Time
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:GMT Daylight Time
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DESCRIPTION:Upload ZuneCardr InTouch to the brand new ZuneCardr.com
DTSTAMP:20080120T135839Z
DTSTART;TZID="Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London":2008
0318T140000
DTEND;TZID="Greenwich Mean Time : Dublin, Edinburgh, Lisbon, London":200803
18T150000
LOCATION:Internet
SUMMARY:ZuneCardr intouch
UID:D6969118-476F-4BB1-A71C-FC8D212F97CF
END:VEVENT
END:VCALENDAR
Und eine vCard
BEGIN:VCARD
VERSION:2.1
N:Planetoid;Rogue;Middle;Mr;
FN:Rogue Planetoid
ORG:Comentsys
TITLE:My Contact Title
NOTE;ENCODING=QUOTED-PRINTABLE:Stack Overflow
TEL;WORK;VOICE:020-000-11
TEL;HOME;VOICE:191-999-9999
TEL;CELL;VOICE:177-899-111
TEL;WORK;FAX:020-000-222
ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;Stack Overflow;Stack Overflow City;MO;98901;
ADR;HOME;ENCODING=QUOTED-PRINTABLE:;;Address;City;CO;90210;
EMAIL;PREF;INTERNET:[email protected]
REV:20030407T144607Z
End:VCARD
sowohl als Klartext gespeichert Diese werden, filename.ics für vCalendar und Dateiname.vcf für vCard.
Ich verwende derzeit Zeile für Zeile Parsing, aber dies scheint primitiv wie iCalendar Elemente können mehrere Zeilen könnte LINQ oder ähnliche Methode verwendet werden, wie diejenigen, die mit fehlenden oder zusätzlichen Elementen, einschließlich Wagenrücklauf in den Daten bewältigen?
Ich habe die Spezifikationen dafür, wenn eine ähnliche Möglichkeit für etwas anderes möglich ist, dann wird das in Ordnung sein, ich benutze .NET 3.5 und Visual Basic 2008, so kann jede .NET-Funktion verwenden, die dies unterstützen könnte.
Dank für diesen Link - haben muss verpasst, wenn ich war auf der Suche nach Codeproject so ähnlich. Hoffentlich können ein paar weitere Beispiele veröffentlicht werden, aber sicher werden Sie sich das ansehen. – RoguePlanetoid