public static TextSymbol ReadFrom(ArcXmlReader reader) { try { TextSymbol textSymbol = new TextSymbol(); if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) { string value = reader.ReadContentAsString(); if (value.Length > 0) { switch (reader.Name) { case "antialiasing": textSymbol.Antialiasing = Convert.ToBoolean(value); break; case "blockout": textSymbol.BlockOut = ColorConverter.ToColor(value); break; case "font": textSymbol.Font = value; break; case "fontcolor": textSymbol.FontColor = ColorConverter.ToColor(value); break; case "fontsize": textSymbol.FontSize = reader.ReadContentAsInt(); break; case "fontstyle": textSymbol.FontStyle = (FontStyle)ArcXmlEnumConverter.ToEnum(typeof(FontStyle), value); break; case "glowing": textSymbol.Glowing = ColorConverter.ToColor(value); break; case "interval": textSymbol.Interval = Convert.ToInt32(value); break; case "outline": textSymbol.Outline = ColorConverter.ToColor(value); break; case "printmode": textSymbol.PrintMode = (PrintMode)ArcXmlEnumConverter.ToEnum(typeof(PrintMode), value); break; case "shadow": textSymbol.Shadow = ColorConverter.ToColor(value); break; case "transparency": textSymbol.Transparency = Convert.ToDouble(value); break; } } } reader.MoveToElement(); } return(textSymbol); } catch (Exception ex) { if (ex is ArcXmlException) { throw ex; } else { throw new ArcXmlException(String.Format("Could not read {0} element.", XmlName), ex); } } }