Лучший способ получить XML из запроса http в asp.net? - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь геокодировать, используя сервис геокодирования openstreetmap из моего приложения asp.net.

Сервис геокодирования OSM называется через строку запроса URL.Вот пример с их веб-сайта:

http://nominatim.openstreetmap.org/search?q=135+pilkington+avenue,+birmingham&format=xml&polygon=1&addressdetails=1

Этот адрес возвращает XML.

Я ищу лучший (лучший метод?) Способ получения этих данных XML.Я имею в виду:

Dim MyXMLStringResponse as string
dim MyParametricURL as string

MyParametricURL="http://nominatim.openstreetmap.org/search?q=" & myaddress & "&format=xml&polygon=1&addressdetails=1"

MyXMLStringResponse = SomeObjectOrFunction.SomeMethod(MyParametricURL) 

То, что я ищу, это "SomeObjectOrFunction" или "SomeMethod" для получения строки XML.

На всякий случай;nominatim.openstreetmap.org не является веб-службой.

1 Ответ

1 голос
/ 06 марта 2012

Простой способ - использовать класс WebClient для отправки запроса.

Это сокращенная версия демонстрационного кода из MSDN:

        WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.

        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead ("http://nominatim...");
        StreamReader reader = new StreamReader (data);
        string xml = reader.ReadToEnd ();

        // "xml" now contains the response in string format
        // Do whatever (load in XmlDocument, for example)  

        // close connection  
        data.Close ();
        reader.Close ();
...