public Country(string name, string alpha2Code, ColorDifferentiator differentiator, List <GeographicallyIndependentTerritory> countryOutline) { Name = name; Alpha2Code = alpha2Code; Differentiator = differentiator; CountryOutline = countryOutline; }
public static Country Objectify(string xml) { var country = Stringy.ExtractSubStringFromBetween(xml, "<country>", "</country>"); var name = Stringy.ExtractSubStringFromBetween(country, "<name>", "</name>"); var alpha2code = Stringy.ExtractSubStringFromBetween(country, "<alpha2code>", "</alpha2code>"); ColorDifferentiator differentiator = (ColorDifferentiator)Int32.Parse(Stringy.ExtractSubStringFromBetween(country, "<differentiator>", "</differentiator>")); var patternCountryoutline = @"<countryoutline>.*?<\/countryoutline>"; var rCountryoutline = new Regex(patternCountryoutline); var countryoutlineXmls = (from object match in rCountryoutline.Matches(country) select match.ToString()).ToList(); var countryOutline = new List <GeographicallyIndependentTerritory>(); foreach (var countryOutlineXml in countryoutlineXmls) { var geographicallyIndependentTerritoryXml = Stringy.ExtractSubStringFromBetween(countryOutlineXml, "<countryoutline>", "</countryoutline>"); var geographicallyIndependentTerritory = GeographicallyIndependentTerritory.Objectify(geographicallyIndependentTerritoryXml); countryOutline.Add(geographicallyIndependentTerritory); } return(new Country(name, alpha2code, differentiator, countryOutline)); }