سؤال

أرغب في إنشاء محتوى HTML استنادًا إلى النتيجة التي تم إرجاعها بواسطة HTTP URL.

http://www.zillow.com/webservice/getDeepSearchResults.htm؟zws-id=x1-zwz1c239bjatxn_5taq0&address=2114+bigelow+ve&citystatezip=seattle٪2c+wa

ستمنحك هذه الصفحة بعض نتائج 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 ، وحقن عنصر ورقة الأنماط في XML الناتجة من صفحة TEH

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top