0

http url によって返された結果に基づいて html コンテンツを生成したいと考えています。

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

このページには、いくつかの XML 結果が表示されます。その XML を使用して HTML を生成するように変換したいと考えています。どこから始めればよいかわかりません。誰かが asp.net のガイドラインやサンプル コードを提供してくれませんか?

詳細: http://www.zillow.com/howto/api/GetDeepSearchResults.htm

4

2 に答える 2

1

HttpWebRequest クラスを使用できるデータをフェッチするには、これは私が手にしなければならない例ですが、必要に応じて少しやり過ぎかもしれません (そして、正しいことをしていることを確認する必要があります - 上記はPOST ではなく GET)。

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 を使用できます。これはすべての問題です自分の。それを処理する必要がある場合は、質問が漠然としすぎているため、より具体的にする必要があります。

于 2010-03-30T08:26:47.980 に答える
0

xsl スタイルシートを作成し、スタイルシート要素をページからの結果の xml に挿入します。

于 2010-03-30T08:28:23.207 に答える