public static GroupRenderer ReadFrom(ArcXmlReader reader) { try { GroupRenderer groupRenderer = new GroupRenderer(); if (!reader.IsEmptyElement) { reader.Read(); while (!(reader.NodeType == XmlNodeType.EndElement && reader.Name == XmlName)) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case GroupRenderer.XmlName: groupRenderer.Add(GroupRenderer.ReadFrom(reader)); break; case ScaleDependentRenderer.XmlName: groupRenderer.Add(ScaleDependentRenderer.ReadFrom(reader)); break; case SimpleLabelRenderer.XmlName: groupRenderer.Add(SimpleLabelRenderer.ReadFrom(reader)); break; case SimpleRenderer.XmlName: groupRenderer.Add(SimpleRenderer.ReadFrom(reader)); break; case ValueMapLabelRenderer.XmlName: groupRenderer.Add(ValueMapLabelRenderer.ReadFrom(reader)); break; case ValueMapRenderer.XmlName: groupRenderer.Add(ValueMapRenderer.ReadFrom(reader)); break; } } reader.Read(); } } return(groupRenderer); } catch (Exception ex) { if (ex is ArcXmlException) { throw ex; } else { throw new ArcXmlException(String.Format("Could not read {0} element.", XmlName), ex); } } }
public static LayerInfo ReadFrom(ArcXmlReader reader) { try { LayerInfo layerInfo = new LayerInfo(); if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) { string value = reader.ReadContentAsString(); if (value.Length > 0) { switch (reader.Name) { case "arcmaptype": layerInfo.ArcMapType = (ArcMapType)ArcXmlEnumConverter.ToEnum(typeof(ArcMapType), value); break; case "id": layerInfo.ID = value; break; case "type": layerInfo.Type = (LayerType)ArcXmlEnumConverter.ToEnum(typeof(LayerType), value); break; case "maxscale": layerInfo.MaxScale = value; break; case "minscale": layerInfo.MinScale = value; break; case "name": layerInfo.Name = value; break; case "parentlayerid": layerInfo.ParentLayerID = value; break; case "visible": layerInfo.Visible = Convert.ToBoolean(value); break; } } } reader.MoveToElement(); } if (!reader.IsEmptyElement) { reader.Read(); while (!(reader.NodeType == XmlNodeType.EndElement && reader.Name == XmlName)) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case "ENVELOPE": layerInfo.Envelope = EnvelopeSerializer.ReadFrom(reader); break; case FClass.XmlName: layerInfo.FClass = FClass.ReadFrom(reader); break; case GroupRenderer.XmlName: layerInfo.Renderer = GroupRenderer.ReadFrom(reader); break; case RasterRenderer.XmlName: layerInfo.Renderer = RasterRenderer.ReadFrom(reader); break; case ScaleDependentRenderer.XmlName: layerInfo.Renderer = ScaleDependentRenderer.ReadFrom(reader); break; case SimpleLabelRenderer.XmlName: layerInfo.Renderer = SimpleLabelRenderer.ReadFrom(reader); break; case SimpleRenderer.XmlName: layerInfo.Renderer = SimpleRenderer.ReadFrom(reader); break; case Toc.XmlName: layerInfo.Toc = Toc.ReadFrom(reader); break; case ValueMapLabelRenderer.XmlName: layerInfo.Renderer = ValueMapLabelRenderer.ReadFrom(reader); break; case ValueMapRenderer.XmlName: layerInfo.Renderer = ValueMapRenderer.ReadFrom(reader); break; case Extension.XmlName: if (layerInfo.Extensions == null) { layerInfo.Extensions = new List <Extension>(); } layerInfo.Extensions.Add(Extension.ReadFrom(reader)); break; } } reader.Read(); } } return(layerInfo); } catch (Exception ex) { if (ex is ArcXmlException) { throw ex; } else { throw new ArcXmlException(String.Format("Could not read {0} element.", XmlName), ex); } } }
public static ScaleDependentRenderer ReadFrom(ArcXmlReader reader) { try { ScaleDependentRenderer scaleDependentRenderer = new ScaleDependentRenderer(); if (reader.HasAttributes) { while (reader.MoveToNextAttribute()) { string value = reader.ReadContentAsString(); if (value.Length > 0) { switch (reader.Name) { case "lower": scaleDependentRenderer.Lower = value; break; case "upper": scaleDependentRenderer.Upper = value; break; } } } reader.MoveToElement(); } if (!reader.IsEmptyElement) { reader.Read(); while (!(reader.NodeType == XmlNodeType.EndElement && reader.Name == XmlName)) { if (reader.NodeType == XmlNodeType.Element) { switch (reader.Name) { case GroupRenderer.XmlName: scaleDependentRenderer.Renderer = GroupRenderer.ReadFrom(reader); break; case ScaleDependentRenderer.XmlName: scaleDependentRenderer.Renderer = ScaleDependentRenderer.ReadFrom(reader); break; case SimpleLabelRenderer.XmlName: scaleDependentRenderer.Renderer = SimpleLabelRenderer.ReadFrom(reader); break; case SimpleRenderer.XmlName: scaleDependentRenderer.Renderer = SimpleRenderer.ReadFrom(reader); break; case ValueMapLabelRenderer.XmlName: scaleDependentRenderer.Renderer = ValueMapLabelRenderer.ReadFrom(reader); break; case ValueMapRenderer.XmlName: scaleDependentRenderer.Renderer = ValueMapRenderer.ReadFrom(reader); break; } } reader.Read(); } } return(scaleDependentRenderer); } catch (Exception ex) { if (ex is ArcXmlException) { throw ex; } else { throw new ArcXmlException(String.Format("Could not read {0} element.", XmlName), ex); } } }