/// <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: Helper.CheckParsingException(reader); break; } } reader.Read(); while (reader.NodeType != XmlNodeType.EndElement) { if (reader.NodeType == XmlNodeType.Text) { Description = reader.ReadContentAsString(); } else { switch (reader.LocalName) { default: Helper.CheckParsingException(reader); break; } } } reader.Read(); }
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") { Collection<PointD> 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 "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(); }
void IFlickrParsable.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; } } }