Как потреблять HTTP -веб -сервис в ASP.NET?
-
23-09-2019 - |
Вопрос
Я хочу генерировать контент HTML на основе результата, возвращаемого HTTP URL.
Эта страница даст вам некоторые результаты XML. Я хочу преобразовать использование этого XML для генерации HTML. Я не понимаю, с чего начать? Кто -нибудь предложит какие -либо рекомендации или пример кода для ASP.NET?
Для получения подробной информации: http://www.zillow.com/howto/api/getdeepsearchresults.htm
Решение
Чтобы получить данные, вы можете использовать класс httpwebrequest, это пример, который я должен вручить Получить, а не пост).
Uri baseUri = new Uri(this.RemoteServer);
HttpWebRequest rq = (HttpWebRequest)HttpWebRequest.Create(new Uri(baseUri, action));
rq.Method = "POST";
rq.ContentType = "application/x-www-form-urlencoded";
rq.Accept = "text/xml";
rq.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
Encoding encoding = Encoding.GetEncoding("UTF-8");
byte[] chars = encoding.GetBytes(body);
rq.ContentLength = chars.Length;
using (Stream stream = rq.GetRequestStream())
{
stream.Write(chars, 0, chars.Length);
stream.Close();
}
XDocument doc;
WebResponse rs = rq.GetResponse();
using (Stream stream = rs.GetResponseStream())
{
using (XmlTextReader tr = new XmlTextReader(stream))
{
doc = XDocument.Load(tr);
responseXml = doc.Root;
}
if (responseXml == null)
{
throw new Exception("No response");
}
}
return responseXml;
После того, как вы вернете данные, вам нужно отобразить HTML, много -много вариантов - если вы просто Хотите преобразовать то, что у вас есть в HTML, с минимальной дальнейшей обработкой, тогда вы можете использовать XSLT, что является вопросом самостоятельно. Если вам нужно что -то делать с этим, вопрос слишком расплывчат, и вам нужно быть более конкретным.
Другие советы
Создайте таблицу стилей XSL и введите элемент StyleSheet в полученный XML с страницы Teh