void ITwentyThreeParsable.Load(XmlReader reader) { if (reader.LocalName != "collection") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": CollectionId = reader.Value; break; case "title": Title = reader.Value; break; case "description": Description = reader.Value; break; case "iconlarge": IconLarge = reader.Value; break; case "iconsmall": IconSmall = reader.Value; break; case "url": Url = reader.Value; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.MoveToElement(); // If this is an empty collection then skip to next item, which wont be a child, but may be a sibling. if (reader.IsEmptyElement) { reader.Skip(); return; } reader.Read(); while (reader.NodeType == XmlNodeType.Element && (reader.LocalName == "collection" || reader.LocalName == "set")) { if (reader.LocalName == "collection") { var c = new Collection(); ((ITwentyThreeParsable)c).Load(reader); _subcollections.Add(c); } else { var s = new CollectionSet(); ((ITwentyThreeParsable)s).Load(reader); _subsets.Add(s); } } // Skip to next element (if any) reader.Skip(); }
void ITwentyThreeParsable.Load(XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "nsid": case "id": GroupId = reader.Value; break; case "iconserver": IconServer = reader.Value; break; case "iconfarm": IconFarm = reader.Value; break; case "lang": Language = reader.Value; break; case "ispoolmoderated": IsPoolModerated = reader.Value == "1"; break; case "path_alias": PathAlias = reader.Value == "" ? null : reader.Value; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); while (reader.LocalName != "group") { switch (reader.LocalName) { case "name": GroupName = reader.ReadElementContentAsString(); break; case "description": Description = reader.ReadElementContentAsString(); break; case "members": Members = reader.ReadElementContentAsInt(); break; case "privacy": Privacy = (PoolPrivacy)reader.ReadElementContentAsInt(); break; case "blast": BlastDateAdded = UtilityMethods.UnixTimestampToDate(reader.GetAttribute("date_blast_added")); BlastUserId = reader.GetAttribute("user_id"); BlastHtml = reader.ReadElementContentAsString(); break; case "throttle": ThrottleInfo = new GroupThrottleInfo(); ((ITwentyThreeParsable)ThrottleInfo).Load(reader); break; case "restrictions": Restrictions = new GroupInfoRestrictions(); ((ITwentyThreeParsable)Restrictions).Load(reader); break; case "roles": MemberRoleName = reader.GetAttribute("member"); ModeratorRoleName = reader.GetAttribute("moderator"); AdminRoleName = reader.GetAttribute("admin"); reader.Read(); break; case "rules": Rules = reader.ReadElementContentAsString(); break; case "pool_count": PoolCount = reader.ReadElementContentAsInt(); break; case "topic_count": TopicCount = reader.ReadElementContentAsInt(); break; default: UtilityMethods.CheckParsingException(reader); reader.Skip(); break; } } reader.Read(); }
void ITwentyThreeParsable.Load(System.Xml.XmlReader reader) { if (reader.LocalName != "contact") { UtilityMethods.CheckParsingException(reader); } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": case "nsid": UserId = reader.Value; break; case "username": UserName = reader.Value; break; case "iconserver": IconServer = reader.Value; break; case "iconfarm": IconFarm = reader.Value; break; case "ignore": IsIgnored = reader.Value == "0"; break; case "realname": RealName = reader.Value; break; case "location": Location = reader.Value; break; case "friend": IsFriend = reader.Value == "1"; break; case "family": IsFamily = reader.Value == "1"; break; case "path_alias": PathAlias = reader.Value; break; case "photos_uploaded": PhotosUploaded = int.Parse(reader.Value, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "rev_ignored": break; case "ispro": IsPro = reader.Value == "1"; break; case "inviewer": InViewer = reader.Value == "1"; break; case "showprivate": ShowPrivate = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Skip(); }
void ITwentyThreeParsable.Load(System.Xml.XmlReader reader) { if (reader == null) { throw new ArgumentNullException("reader"); } if (reader.LocalName != "suggestion") { UtilityMethods.CheckParsingException(reader); return; } while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "id": SuggestionId = reader.Value; break; case "photo_id": PhotoId = reader.Value; break; case "date_suggested": DateSuggested = UtilityMethods.UnixTimestampToDate(reader.Value); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); while (reader.LocalName != "suggestion" && reader.NodeType != System.Xml.XmlNodeType.EndElement) { switch (reader.LocalName) { case "suggested_by": SuggestedByUserId = reader.GetAttribute("nsid"); SuggestedByUserName = reader.GetAttribute("username"); reader.Skip(); break; case "note": Note = reader.ReadElementContentAsString(); break; case "location": while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "woeid": WoeId = reader.Value; break; case "latitude": Latitude = reader.ReadContentAsDouble(); break; case "longitude": Longitude = reader.ReadContentAsDouble(); break; case "accuracy": Accuracy = (GeoAccuracy)reader.ReadContentAsInt(); break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Skip(); break; default: UtilityMethods.CheckParsingException(reader); break; } } }
void ITwentyThreeParsable.Load(System.Xml.XmlReader reader) { while (reader.MoveToNextAttribute()) { switch (reader.LocalName) { case "nsid": case "id": GroupId = reader.Value; break; case "name": GroupName = reader.Value; break; case "admin": IsAdmin = reader.Value == "1"; break; case "privacy": Privacy = (PoolPrivacy)Enum.Parse(typeof(PoolPrivacy), reader.Value, true); break; case "iconsserver": IconServer = reader.Value; break; case "iconfarm": IconFarm = reader.Value; break; case "photos": case "pool_count": Photos = long.Parse(reader.Value, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo); break; case "member": IsMember = reader.Value == "1"; break; case "moderator": IsModerator = reader.Value == "1"; break; case "member_count": MemberCount = reader.ReadContentAsInt(); break; case "topic_count": TopicCount = reader.ReadContentAsInt(); break; case "eighteenplus": IsEighteenPlus = reader.Value == "1"; break; default: UtilityMethods.CheckParsingException(reader); break; } } reader.Read(); }