我想根据 http url 返回的结果生成 html 内容。
此页面将为您提供一些 XML 结果。我想转换为使用该 XML 来生成 HTML。我不知道从哪里开始?有人会为 asp.net 提供任何指南或示例代码吗?
详情:http ://www.zillow.com/howto/api/GetDeepSearchResults.htm
我想根据 http url 返回的结果生成 html 内容。
此页面将为您提供一些 XML 结果。我想转换为使用该 XML 来生成 HTML。我不知道从哪里开始?有人会为 asp.net 提供任何指南或示例代码吗?
详情:http ://www.zillow.com/howto/api/GetDeepSearchResults.htm
要获取数据,您可以使用 HttpWebRequest 类,这是我必须提供的一个示例,但对于您的需求,它可能有点过头了(并且您需要确保您做的事情是正确的——我怀疑上面的内容是GET 而不是 POST)。
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 样式表,并将样式表元素从页面注入到生成的 xml 中