예제 #1
0
        private void FindVersionFromSource()
        {
            // try to find the xmlns and the correct version to use.
            XmlReader reader = _source.GetReader();

            while (!reader.EOF)
            {
                if (reader.NodeType == XmlNodeType.Element &&
                    reader.Name == "searchresults")
                {
                    _version = SearchVersion.Searchv1;
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    throw new XmlException("First element expected: searchresults!");
                }

                // check end conditions.
                if (_version != SearchVersion.Unknown)
                {
                    reader = null;
                    break;
                }

                reader.Read();
            }
        }
예제 #2
0
        private void FindVersionFromSource()
        {
            // try to find the xmlns and the correct version to use.
            XmlReader reader = _source.GetReader();

            while (!reader.EOF)
            {
                if (reader.NodeType == XmlNodeType.Element &&
                    reader.Name == "kml")
                {
                    string ns = reader.GetAttribute("xmlns");
                    switch (ns)
                    {
                    case "http://earth.google.com/kml/2.0":
                        // trick here for the google maps geocoding resultes.
                        reader.Read();
                        while (!reader.EOF)
                        {
                            if (reader.NodeType == XmlNodeType.Element &&
                                reader.Name.ToLower() == "response")
                            {
                                _version = KmlVersion.Kmlv2_0_response;
                                break;
                            }
                            else if (reader.NodeType == XmlNodeType.Element)
                            {
                                _version = KmlVersion.Kmlv2_0;
                                break;
                            }
                            reader.Read();
                        }
                        break;

                    case "http://earth.google.com/kml/2.1":
                        _version = KmlVersion.Kmlv2_1;
                        break;
                    }
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    throw new XmlException("First element expected: kml!");
                }

                // check end conditions.
                if (_version != KmlVersion.Unknown)
                {
                    reader.Close();
                    reader = null;
                    break;
                }

                reader.Read();
            }
        }
예제 #3
0
        private void DoReadOsm()
        {
            if (_osmObject == null && _source.HasData)
            {
                XmlSerializer xmlSerializer = null;
                xmlSerializer = new XmlSerializer(typeof(v0_6.osm));

                XmlReader reader = _source.GetReader();
                _osmObject = xmlSerializer.Deserialize(reader);
            }
        }
예제 #4
0
        private void FindVersionFromSource()
        {
            // try to find the xmlns and the correct version to use.
            XmlReader reader = _source.GetReader();

            while (!reader.EOF)
            {
                if (reader.NodeType == XmlNodeType.Element &&
                    reader.Name == "gpx")
                {
                    string ns = reader.GetAttribute("xmlns");
                    switch (ns)
                    {
                    case "http://www.topografix.com/GPX/1/0":
                        _version = GpxVersion.Gpxv1_0;
                        break;

                    case "http://www.topografix.com/GPX/1/1":
                        _version = GpxVersion.Gpxv1_1;
                        break;
                    }
                }
                else if (reader.NodeType == XmlNodeType.Element)
                {
                    throw new XmlException("First element expected: gpx!");
                }

                // check end conditions.
                if (_version != GpxVersion.Unknown)
                {
                    reader.Close();
                    reader = null;
                    break;
                }

                reader.Read();
            }
        }