private void ParseDates(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "posted": DatePosted = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "taken": DateTaken = UtilityMethods.ParseDateWithGranularity(reader.Value); break; case "takengranularity": DateTakenGranularity = (DateGranularity)int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "lastupdate": DateLastUpdated = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "takenunknown": DateTakenUnknown = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParseUsage(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "canblog": CanBlog = reader.Value == "1"; break; case "candownload": CanDownload = reader.Value == "1"; break; case "canprint": CanPrint = reader.Value == "1"; break; case "canshare": CanShare = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParseVisibility(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "isfamily": IsFamily = reader.Value == "1"; break; case "ispublic": IsPublic = reader.Value == "1"; break; case "isfriend": IsFriend = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParseFileSize(XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "maxbytes": case "max": FileSizeMax = reader.ReadContentAsLong(); break; case "maxkb": FileSizeMaxKB = reader.ReadContentAsLong(); break; case "maxmb": FileSizeMaxMB = reader.ReadContentAsLong(); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParseSets(XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "created": if (!string.IsNullOrEmpty(reader.Value)) { SetsCreated = reader.ReadContentAsInt(); } break; case "remaining": if (!string.IsNullOrEmpty(reader.Value) && reader.Value != "lots") { SetsRemaining = reader.ReadContentAsInt(); } break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "url") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "type": UrlType = reader.Value; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); Url = reader.ReadContentAsString(); if (Url.Contains("www.flickr.com")) { Url = Url.Replace("http://", "https://"); } reader.Skip(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { reader.Read(); while (reader.LocalName != "auth" && reader.LocalName != "oauth") { switch (reader.LocalName) { case "token": Token = reader.ReadElementContentAsString(); break; case "perms": Permissions = (AuthLevel)Enum.Parse(typeof(AuthLevel), reader.ReadElementContentAsString(), true); break; case "user": User = new FoundUser(); ((IFlickrParsable)User).Load(reader); break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "photo") { UtilityMethods.CheckParsingException(reader); } LoadAttributes(reader); LoadElements(reader); }
private void LoadElements(XmlReader reader) { if (reader.NodeType == XmlNodeType.EndElement && reader.Name == "photo") { return; } if (reader.NodeType == XmlNodeType.Element && reader.Name == "geoperms") { return; } while (reader.NodeType != XmlNodeType.EndElement) { switch (reader.LocalName) { case "neighbourhood": Neighbourhood = new Place(); ((IFlickrParsable)Neighbourhood).Load(reader); break; case "locality": Locality = new Place(); ((IFlickrParsable)Locality).Load(reader); break; case "county": County = new Place(); ((IFlickrParsable)County).Load(reader); break; case "region": Region = new Place(); ((IFlickrParsable)Region).Load(reader); break; case "country": Country = new Place(); ((IFlickrParsable)Country).Load(reader); break; case "shapedata": ShapeData = new ShapeData(); ((IFlickrParsable)ShapeData).Load(reader); break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } reader.Read(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "note") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": NoteId = reader.Value; break; case "author": AuthorId = reader.Value; break; case "authorname": AuthorName = reader.Value; break; case "x": XPosition = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "y": YPosition = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "w": Width = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "h": Height = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); NoteText = reader.ReadContentAsString(); reader.Skip(); }
void IFlickrParsable.Load(XmlReader reader) { if (reader.LocalName != "photos") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "total": Total = string.IsNullOrEmpty(reader.Value) ? 0 : int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "perpage": case "per_page": PerPage = string.IsNullOrEmpty(reader.Value) ? 0 : int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "page": Page = string.IsNullOrEmpty(reader.Value) ? 0 : int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "pages": Pages = string.IsNullOrEmpty(reader.Value) ? 0 : int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); while (reader.LocalName == "photo") { var p = new Photo(); ((IFlickrParsable)p).Load(reader); if (!string.IsNullOrEmpty(p.PhotoId)) { Add(p); } } // Skip to next element (if any) reader.Skip(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "tag") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": TagId = reader.Value; break; case "author": AuthorId = reader.Value; break; case "authorname": AuthorName = reader.Value; break; case "raw": Raw = reader.Value; break; case "machine_tag": IsMachineTag = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); TagText = reader.ReadContentAsString(); reader.Skip(); }
private void ParseBandwidth(XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "maxbytes": case "max": BandwidthMax = reader.ReadContentAsLong(); break; case "maxkb": BandwidthMaxKB = reader.ReadContentAsLong(); break; case "used": case "usedbytes": BandwidthUsed = reader.ReadContentAsLong(); break; case "usedkb": BandwidthUsedKB = reader.ReadContentAsLong(); break; case "remainingbytes": BandwidthRemaining = reader.ReadContentAsLong(); break; case "remainingkb": BandwidthRemainingKB = reader.ReadContentAsLong(); break; case "unlimited": IsUnlimited = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParseOwner(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "nsid": OwnerUserId = reader.Value; break; case "username": OwnerUserName = reader.Value; break; case "realname": OwnerRealName = reader.Value; break; case "location": OwnerLocation = reader.Value; break; case "iconserver": OwnerIconServer = reader.Value; break; case "iconfarm": OwnerIconFarm = reader.Value; break; case "path_alias": PathAlias = string.IsNullOrEmpty(reader.Value) ? null : reader.Value; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParsePermissions(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "permcomment": PermissionComment = (PermissionComment)int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "permaddmeta": PermissionAddMeta = (PermissionAddMeta)int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void ParsePublicEditability(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "cancomment": CanPublicComment = reader.Value == "1"; break; case "canaddmeta": CanPublicAddMeta = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "ready": Ready = reader.Value == "1"; break; case "failed": Failed = reader.Value == "1"; break; case "pending": Pending = reader.Value == "1"; break; case "duration": Duration = string.IsNullOrEmpty(reader.Value) ? -1 : reader.ReadContentAsInt(); break; case "width": Width = string.IsNullOrEmpty(reader.Value) ? -1 : reader.ReadContentAsInt(); break; case "height": Height = string.IsNullOrEmpty(reader.Value) ? -1 : reader.ReadContentAsInt(); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
void IFlickrParsable.Load(XmlReader reader) { if (reader.LocalName != "user") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "nsid": case "id": UserId = reader.Value; break; case "username": UserName = reader.Value; break; case "fullname": FullName = reader.Value; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); if (reader.NodeType != XmlNodeType.EndElement) { UserName = reader.ReadElementContentAsString(); reader.Skip(); } }
private void LoadAttributes(XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": case "nsid": UserId = reader.Value; break; case "ispro": IsPro = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
private void LoadElements(XmlReader reader) { while (reader.LocalName != "user") { switch (reader.LocalName) { case "username": UserName = reader.ReadElementContentAsString(); break; case "bandwidth": ParseBandwidth(reader); break; case "filesize": ParseFileSize(reader); break; case "sets": ParseSets(reader); break; case "videosize": ParseVideoSize(reader); break; case "videos": ParseVideos(reader); break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "created": DateCreated = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "alpha": Alpha = reader.ReadContentAsDouble(); break; case "count_points": PointCount = reader.ReadContentAsInt(); break; case "count_edges": EdgeCount = reader.ReadContentAsInt(); break; case "has_donuthole": HasDonutHole = reader.Value == "1"; break; case "is_donuthole": IsDonutHole = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); while (reader.NodeType != System.Xml.XmlNodeType.EndElement) { switch (reader.LocalName) { case "polylines": reader.Read(); while (reader.LocalName == "polyline") { var polyline = new Collection <PointD>(); string polystring = reader.ReadElementContentAsString(); string[] points = polystring.Split(' '); foreach (string point in points) { string[] xy = point.Split(','); if (xy.Length != 2) { throw new ParsingException("Invalid polypoint found in polyline : '" + polystring + "'"); } polyline.Add( new PointD( double.Parse(xy[0], System.Globalization.NumberFormatInfo.InvariantInfo), double.Parse(xy[1], System.Globalization.NumberFormatInfo.InvariantInfo))); } PolyLines.Add(polyline); } reader.Read(); break; case "urls": reader.Skip(); break; } } reader.Read(); }
private void LoadAttributes(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "name": Description = reader.Value; break; case "place_id": PlaceId = reader.Value; break; case "place_url": PlaceUrl = reader.Value; break; case "place_type_id": PlaceType = (PlaceType)reader.ReadContentAsInt(); break; case "place_type": PlaceType = (PlaceType)Enum.Parse(typeof(PlaceType), reader.Value, true); break; case "woeid": WoeId = reader.Value; break; case "woe_name": WoeName = reader.Value; break; case "latitude": Latitude = reader.ReadContentAsDouble(); break; case "longitude": Longitude = reader.ReadContentAsDouble(); break; case "accuracy": Accuracy = (GeoAccuracy)reader.ReadContentAsInt(); break; case "context": Context = (GeoContext)reader.ReadContentAsInt(); break; case "timezone": TimeZone = reader.Value; break; case "has_shapedata": HasShapeData = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
/// <summary> /// Serializes the XML to an instance. /// </summary> /// <param name="reader"></param> void IFlickrParsable.Load(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "name": Description = reader.Value; break; case "place_id": PlaceId = reader.Value; break; case "place_url": PlaceUrl = reader.Value; break; case "place_type_id": PlaceType = (PlaceType)reader.ReadContentAsInt(); break; case "place_type": PlaceType = (PlaceType)Enum.Parse(typeof(PlaceType), reader.Value, true); break; case "woeid": WoeId = reader.Value; break; case "woe_name": WoeName = reader.Value; break; case "latitude": Latitude = reader.ReadContentAsDouble(); break; case "longitude": Longitude = reader.ReadContentAsDouble(); break; case "timezone": TimeZone = reader.Value; break; case "photo_count": PhotoCount = reader.ReadContentAsInt(); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); while (reader.NodeType != XmlNodeType.EndElement) { if (reader.NodeType == XmlNodeType.Text) { Description = reader.ReadContentAsString(); } else { switch (reader.LocalName) { default: UtilityMethods.CheckParsingException(reader); break; } } } reader.Read(); }
/// <summary> /// Protected method that does the actual initialization of the Photo instance. Should be called by subclasses of the Photo class. /// </summary> /// <param name="reader">The reader containing the XML to be parsed.</param> /// <param name="allowExtraAtrributes">Wheither to allow unknown extra attributes. /// In debug builds will throw an exception if this parameter is false and an unknown attribute is found.</param> protected void Load(XmlReader reader, bool allowExtraAtrributes) { if (reader.LocalName != "photo" && reader.LocalName != "primary_photo_extras") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": PhotoId = reader.Value; if (string.IsNullOrEmpty(reader.Value)) { reader.Skip(); return; } break; case "owner": UserId = reader.Value; break; case "secret": Secret = reader.Value; break; case "server": Server = reader.Value; break; case "farm": Farm = reader.Value; break; case "title": Title = reader.Value; break; case "ispublic": IsPublic = reader.Value == "1"; break; case "isfamily": IsFamily = reader.Value == "1"; break; case "isfriend": IsFriend = reader.Value == "1"; break; case "tags": foreach (string tag in reader.Value.Split(' ')) { Tags.Add(tag); } break; case "datetaken": // For example : 2007-11-04 08:55:18 DateTaken = UtilityMethods.ParseDateWithGranularity(reader.Value); break; case "datetakengranularity": break; case "datetakenunknown": DateTakenUnknown = reader.Value == "1"; break; case "dateupload": DateUploaded = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "license": License = (LicenseType)int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "ownername": OwnerName = reader.Value; break; case "lastupdate": LastUpdated = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "originalformat": OriginalFormat = reader.Value; break; case "originalsecret": OriginalSecret = reader.Value; break; case "place_id": PlaceId = reader.Value; break; case "woeid": WoeId = reader.Value; break; case "accuracy": Accuracy = (GeoAccuracy)reader.ReadContentAsInt(); break; case "latitude": Latitude = reader.ReadContentAsDouble(); break; case "longitude": Longitude = reader.ReadContentAsDouble(); break; case "machine_tags": MachineTags = reader.Value; break; case "o_width": OriginalWidth = int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "o_height": OriginalHeight = int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "views": Views = int.Parse(reader.Value, System.Globalization.CultureInfo.InvariantCulture); break; case "media": Media = reader.Value; break; case "media_status": MediaStatus = reader.Value; break; case "iconserver": IconServer = reader.Value; break; case "iconfarm": IconFarm = reader.Value; break; case "username": OwnerName = reader.Value; break; case "isprimary": case "is_primary": break; case "pathalias": case "path_alias": PathAlias = reader.Value; break; case "url_sq": urlSquare = reader.Value; break; case "width_sq": SquareThumbnailWidth = reader.ReadContentAsInt(); break; case "height_sq": SquareThumbnailHeight = reader.ReadContentAsInt(); break; case "url_t": urlThumbnail = reader.Value; break; case "width_t": ThumbnailWidth = reader.ReadContentAsInt(); break; case "height_t": ThumbnailHeight = reader.ReadContentAsInt(); break; case "url_q": urlLargeSquare = reader.Value; break; case "width_q": LargeSquareThumbnailWidth = reader.ReadContentAsInt(); break; case "height_q": LargeSquareThumbnailHeight = reader.ReadContentAsInt(); break; case "url_n": urlSmall320 = reader.Value; break; case "width_n": Small320Width = reader.ReadContentAsInt(); break; case "height_n": Small320Height = reader.ReadContentAsInt(); break; case "url_s": urlSmall = reader.Value; break; case "width_s": SmallWidth = reader.ReadContentAsInt(); break; case "height_s": SmallHeight = reader.ReadContentAsInt(); break; case "url_m": urlMedium = reader.Value; break; case "width_m": MediumWidth = reader.ReadContentAsInt(); break; case "height_m": MediumHeight = reader.ReadContentAsInt(); break; case "url_c": urlMedium800 = reader.Value; break; case "width_c": Medium800Width = reader.ReadContentAsInt(); break; case "height_c": Medium800Height = reader.ReadContentAsInt(); break; case "url_l": urlLarge = reader.Value; break; case "width_l": LargeWidth = reader.ReadContentAsInt(); break; case "height_l": LargeHeight = reader.ReadContentAsInt(); break; case "url_z": urlMedium640 = reader.Value; break; case "width_z": Medium640Width = reader.ReadContentAsInt(); break; case "height_z": Medium640Height = reader.ReadContentAsInt(); break; case "url_o": urlOriginal = reader.Value; break; case "width_o": OriginalWidth = reader.ReadContentAsInt(); break; case "height_o": OriginalHeight = reader.ReadContentAsInt(); break; case "url_h": Large1600Url = reader.Value; break; case "width_h": Large1600Width = reader.ReadContentAsInt(); break; case "height_h": Large1600Height = reader.ReadContentAsInt(); break; case "url_k": Large2048Url = reader.Value; break; case "width_k": Large2048Width = reader.ReadContentAsInt(); break; case "height_k": Large2048Height = reader.ReadContentAsInt(); break; case "dateadded": DateAddedToGroup = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "date_faved": DateFavorited = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "has_comment": // Gallery photos return this, but we ignore it and set GalleryPhoto.Comment instead. break; case "can_comment": CanComment = reader.Value == "1"; break; case "can_addmeta": CanAddMeta = reader.Value == "1"; break; case "can_blog": CanBlog = reader.Value == "1"; break; case "can_print": CanPrint = reader.Value == "1"; break; case "can_download": CanDownload = reader.Value == "1"; break; case "can_share": CanShare = reader.Value == "1"; break; case "geo_is_family": if (GeoPermissions == null) { GeoPermissions = new GeoPermissions(); GeoPermissions.PhotoId = PhotoId; } GeoPermissions.IsFamily = reader.Value == "1"; break; case "geo_is_friend": if (GeoPermissions == null) { GeoPermissions = new GeoPermissions(); GeoPermissions.PhotoId = PhotoId; } GeoPermissions.IsFriend = reader.Value == "1"; break; case "geo_is_public": if (GeoPermissions == null) { GeoPermissions = new GeoPermissions(); GeoPermissions.PhotoId = PhotoId; } GeoPermissions.IsPublic = reader.Value == "1"; break; case "geo_is_contact": if (GeoPermissions == null) { GeoPermissions = new GeoPermissions(); GeoPermissions.PhotoId = PhotoId; } GeoPermissions.IsContact = reader.Value == "1"; break; case "context": GeoContext = (GeoContext)reader.ReadContentAsInt(); break; case "rotation": Rotation = reader.ReadContentAsInt(); break; case "count_faves": CountFaves = reader.ReadContentAsInt(); break; case "count_comments": CountComments = reader.ReadContentAsInt(); break; default: if (!allowExtraAtrributes) { UtilityMethods.CheckParsingException(reader); } break; } } reader.Read(); if (reader.LocalName == "description") { Description = reader.ReadElementContentAsString(); } }
private void LoadElements(System.Xml.XmlReader reader) { while (reader.LocalName != "photo") { switch (reader.LocalName) { case "owner": ParseOwner(reader); break; case "title": Title = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "visibility": ParseVisibility(reader); break; case "permissions": ParsePermissions(reader); break; case "editability": ParseEditability(reader); break; case "publiceditability": ParsePublicEditability(reader); break; case "dates": ParseDates(reader); break; case "usage": ParseUsage(reader); break; case "comments": CommentsCount = reader.ReadElementContentAsInt(); break; case "notes": ParseNotes(reader); break; case "tags": ParseTags(reader); break; case "urls": ParseUrls(reader); break; case "location": Location = new PlaceInfo(); ((IFlickrParsable)Location).Load(reader); break; case "geoperms": GeoPermissions = new GeoPermissions(); ((IFlickrParsable)GeoPermissions).Load(reader); break; case "video": VideoInfo = new VideoInfo(); ((IFlickrParsable)VideoInfo).Load(reader); break; case "people": HasPeople = reader.GetAttribute("haspeople") == "1"; reader.Skip(); break; case "path_alias": PathAlias = reader.Value; break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } reader.Skip(); }
private void LoadAttributes(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": PhotoId = reader.Value; break; case "secret": Secret = reader.Value; break; case "server": Server = reader.Value; break; case "farm": Farm = reader.Value; break; case "originalformat": OriginalFormat = reader.Value; break; case "originalsecret": OriginalSecret = reader.Value; break; case "dateuploaded": DateUploaded = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "isfavorite": IsFavorite = reader.Value == "1"; break; case "license": License = (LicenseType)int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "views": ViewCount = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "rotation": Rotation = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "media": Media = reader.Value == "photo" ? MediaType.Photos : MediaType.Videos; break; case "safety_level": SafetyLevel = (SafetyLevel)reader.ReadContentAsInt(); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }
void IFlickrParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "photoset") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": PhotosetId = reader.Value; break; case "url": Url = reader.Value; break; case "owner_id": case "owner": OwnerId = reader.Value; break; case "username": OwnerName = reader.Value; break; case "primary": PrimaryPhotoId = reader.Value; break; case "secret": Secret = reader.Value; break; case "farm": Farm = reader.Value; break; case "server": Server = reader.Value; break; case "total": break; case "photos": case "count_photos": NumberOfPhotos = reader.ReadContentAsInt(); break; case "videos": case "count_videos": NumberOfVideos = reader.ReadContentAsInt(); break; case "needs_interstitial": // Who knows what this is for. break; case "visibility_can_see_set": // Who knows what this is for. break; case "date_create": DateCreated = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "date_update": DateUpdated = UtilityMethods.UnixTimestampToDate(reader.Value); break; case "view_count": case "count_views": ViewCount = reader.ReadContentAsInt(); break; case "comment_count": case "count_comments": CommentCount = reader.ReadContentAsInt(); break; case "can_comment": CanComment = reader.Value == "1"; break; case "coverphoto_server": case "coverphoto_farm": break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); PrimaryPhoto = new Photo { PhotoId = PrimaryPhotoId, Secret = Secret, Server = Server, Farm = Farm }; while (reader.LocalName != "photoset" && reader.NodeType != System.Xml.XmlNodeType.EndElement) { switch (reader.LocalName) { case "title": Title = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "primary_photo_extras": ((IFlickrParsable)PrimaryPhoto).Load(reader); break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } reader.Read(); }