دسته بندی ها
23:33 1398/10/06

دریافت مقادیر از web api در Asp.net core

مشخصات سوال کننده :
کاربر : fateme     امتیاز کاربر : 1617     رتبه کاربر : 2
دسته بندی : Asp.net Core Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5536
پاسخ دهنده : hamid_b 16:28 1398/10/07

استفاده از Web Api در Asp.net core

در صورتی که بخواید از یک Web Api در Asp.net core استفاده کنید همونطور که کدهاش رو قرار دادید باید توسط کلاس HttpClient یک Request رو به سمت سرور ارسال کنید تا عملیات مورد نظر شما انجام بشه.

اما گاهی اوقات نیاز هست مقدار دریافتی که میتونه Json یا Xml باشه دریافت بشه و اصطلاحا Parse بشه. برای این کار می تونید از روش زیر استفاده کنید.

 

Parse کردن xml در Asp.net core

با توجه به اینکه Web Api شما از نوع SOAP هست پس برگشتی شما یک فایل Xml خواهد بود. برای این منظوز از کد زیر استفاده کنید

 

  var http = await httpClient.GetAsync($"http://servier.com/api/xml?action=action-name");
  string incomingText = http.Content.ReadAsStringAsync().Result;
  XDocument doc = XDocument.Parse(incomingText);
                    

 

در کدهای بالا در خط اول به Web Api یک درخواست ارسال شده. در خط دوم توسط متد ReadAsStringAsync محتوای درخواست یا همون body درخواست در یک متغیر از نوع string نگهداری شده و در خط سوم هم مقدار متغیر incomingText پارس شده و به صورت xml در متغیر doc نگهداری شده.

 

بدست آوردن مقدار پارامترها در xml

در فایل xml ممکنه یکسری پارامترهایی هم وجود داشته باشه که نیاز داشته باشید اونها رو در برنامه داشته باشید. به عنوان نمونه

 

<rows id="23367" type="meeting" icon="meeting">
   <row code="25"></row>
</rows>

فرض کنید مقدار پارامتر Code که 25 هست رو بخواید داشته باشید. برای این منظور می تونید از کد زیر استفاده کنید

 

 var getcode = doc.Element("rows").Element("row").Attribute("code").Value;

 

اطلاعات بیشتر در این لینک

به این پاسخ امتیاز بدهید    0
امتیاز: 510 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود