示例#1
0
        internal static void ProcessFields(EsriFeature info, XmlReader responseReader)
        {
            while (responseReader.Read())
            {
                if (responseReader.NodeType == XmlNodeType.EndElement && responseReader.Name == "FCLASS") break;

                if (responseReader.NodeType == XmlNodeType.Element)
                {
                    if (responseReader.Name == "ENVELOPE")
                    {
                        info._Envelope = EsriEnvelope.ProcessEnvelopeNode(responseReader);
                    }
                    else
                    {
                        info.Fields.AddRange(EsriField.ProcessFields(responseReader));
                    }
                }
            }
        }
示例#2
0
        internal static EsriFeature ProcessFeature(XmlReader responseReader)
        {
            EsriFeature feature = new EsriFeature();

            while (responseReader.Read())
            {
                if (responseReader.NodeType == XmlNodeType.Element)
                {
                    switch (responseReader.LocalName)
                    {
                        case "ENVELOPE":
                            feature._Envelope = EsriEnvelope.ProcessEnvelopeNode(responseReader);
                            break;
                        case "FIELDS":
                            feature._Fields.AddRange(EsriField.ProcessFields(responseReader));
                            break;
                    }
                }
                else if (responseReader.NodeType == XmlNodeType.EndElement)
                {
                    if (responseReader.LocalName == "FEATURE") break;
                }
            }

            return feature;
        }