0 votes

Asp.net consommant un service Web basé sur http?

Je veux générer du contenu html basé sur un résultat renvoyé par une url http.

http://www.zillow.com/webservice/GetDeepSearchResults.htm?zws-id=X1-ZWz1c239bjatxn_5taq0&address=2114+Bigelow+Ave&citystatezip=Seattle%2C+WA

Cette page vous fournira quelques résultats xml. Je veux convertir cet xml en html. Je ne sais pas par où commencer? Des lignes directrices / un code d'exemple pour asp.net?

Pour plus de détails
http://www.zillow.com/howto/api/GetDeepSearchResults.htm

merci

1voto

Murph Points 7600

Pour récupérer les données, vous pouvez utiliser la classe HttpWebRequest, voici un exemple que j'ai sous la main mais cela pourrait être légèrement exagéré pour vos besoins (et vous devez vous assurer de faire les choses correctement - je soupçonne ce qui précède d'être un GET plutôt qu'un POST) hmm, je vais cocher la case WIKI, n'hésitez pas à corriger le code (-:

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;

Une fois que vous avez récupéré les données, vous avez besoin de les afficher en HTML, il y a beaucoup de choix - si vous voulez simplement convertir ce que vous avez en HTML avec un minimum de traitement supplémentaire, vous pouvez utiliser XSLT - ce qui est une question à part entière. Si vous devez effectuer des actions avec, alors la question est trop vague et vous devrez être plus spécifique.

0voto

Midhat Points 8542

Créez une feuille de style xsl, et injectez l'élément de feuille de style dans le xml résultant de la page

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X