Exemple #1
0
        public static WmsCapabilities Parse(Stream stream)
        {
            var settings = new XmlReaderSettings
#if NET35
            {
                ProhibitDtd = false
            };
#else
            { DtdProcessing = DtdProcessing.Ignore };
#endif

            using (var reader = XmlReader.Create(stream, settings))
            {
                reader.MoveToContent();

                var version        = reader.GetAttribute("version");
                var wms            = new WmsCapabilities(version);
                var updateSequence = reader.GetAttribute("updateSequence");
                if (!string.IsNullOrEmpty(updateSequence))
                {
                    wms.UpdateSequence = int.Parse(updateSequence, NumberFormatInfo.InvariantInfo);
                }

                if (reader.IsEmptyElement)
                {
                    reader.Read();
                    return(null);
                }

                if (wms.Version.Version >= WmsVersionEnum.Version_1_3_0)
                {
                    reader.ReadStartElement("WMS_Capabilities");
                }
                else
                {
                    reader.ReadStartElement("WMT_MS_Capabilities");
                }

                reader.MoveToContent();
                wms.Service.ReadXml(reader.ReadSubtree());
                reader.ReadEndElement();

                reader.MoveToContent();
                wms.Capability.ReadXml(reader.ReadSubtree());
                reader.ReadEndElement();

                reader.ReadEndElement();
                return(wms);
            }
        }
Exemple #2
0
        public static WmsCapabilities Parse(Stream stream)
        {
            var settings = new XmlReaderSettings
#if NET35
            { ProhibitDtd = false };
#else
            { DtdProcessing = DtdProcessing.Ignore };
#endif
            
            using (var reader = XmlReader.Create(stream, settings))
            {
                reader.MoveToContent();

                var version = reader.GetAttribute("version");
                var wms = new WmsCapabilities(version);
                var updateSequence = reader.GetAttribute("updateSequence");
                if (!string.IsNullOrEmpty(updateSequence))
                    wms.UpdateSequence = int.Parse(updateSequence, NumberFormatInfo.InvariantInfo);

                if (reader.IsEmptyElement)
                {
                    reader.Read();
                    return null;
                }

                if (wms.Version.Version >= WmsVersionEnum.Version_1_3_0)
                    reader.ReadStartElement("WMS_Capabilities");
                else
                {
                    reader.ReadStartElement("WMT_MS_Capabilities");
                }

                reader.MoveToContent();
                wms.Service.ReadXml(reader.ReadSubtree());
                reader.ReadEndElement();

                reader.MoveToContent();
                wms.Capability.ReadXml(reader.ReadSubtree());
                reader.ReadEndElement();

                reader.ReadEndElement();
                return wms;
            }
        }