public static void Serialize(XmlWriter writer, IGeoRSS georss) { XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add(string.Empty, string.Empty); namespaces.Add("georss", "http://www.georss.org/georss"); if (georss is GeoRss10Where) { namespaces.Add("gml", "http://www.opengis.net/gml"); XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Where)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Point) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Point)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Line) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Line)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Polygon) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Polygon)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Box) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Box)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10FeatureType) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10FeatureType)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10FeatureName) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10FeatureName)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10RelationshipTag) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10RelationshipTag)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Elevation) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Elevation)); geoRssSerializer.Serialize(writer,georss,namespaces); } if (georss is GeoRss10Radius) { XmlSerializer geoRssSerializer = new XmlSerializer(typeof(GeoRss10Radius)); geoRssSerializer.Serialize(writer,georss,namespaces); } }