سلام. پروژه خودم رو با Asp.net core ایجاد کردم. در قسمتی از پروژه قصد دارم از یک SOAP Web Api استفاده کنم. همونطوری که می دونید خروجی api های soap از نوع xml هستن.
من با استفاده از دستور زیر می تونم به api درخواست بفرستم و خیلی از عملیات رو انجام بدم
HttpClient httpClient = new HttpClient();
var httpResponse = await httpClient.
GetAsync($"http://myserver.com/api/xml?action=action-name");
اما حالا قصد دارم که مقادیر رو از api دریافت کنم و اصطلاحا عملیات parse در مقادیر برگشتی رو انجام بدم.
سوالم این هست چجوری میتونم مقدار برگشتی api رو به صورت xml دریافت کنم ؟
در صورتی که بخواید از یک Web Api در Asp.net core استفاده کنید همونطور که کدهاش رو قرار دادید باید توسط کلاس HttpClient یک Request رو به سمت سرور ارسال کنید تا عملیات مورد نظر شما انجام بشه.
اما گاهی اوقات نیاز هست مقدار دریافتی که میتونه Json یا Xml باشه دریافت بشه و اصطلاحا Parse بشه. برای این کار می تونید از روش زیر استفاده کنید.
با توجه به اینکه 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 ممکنه یکسری پارامترهایی هم وجود داشته باشه که نیاز داشته باشید اونها رو در برنامه داشته باشید. به عنوان نمونه
<rows id="23367" type="meeting" icon="meeting">
<row code="25"></row>
</rows>
فرض کنید مقدار پارامتر Code که 25 هست رو بخواید داشته باشید. برای این منظور می تونید از کد زیر استفاده کنید
var getcode = doc.Element("rows").Element("row").Attribute("code").Value;
اطلاعات بیشتر در این لینک
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
55
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/05/16
- ساعت :
09:57:00 AM
- بازدید :
394
- پاسخ :
2
|
تاریخ :
1403/06/25
- ساعت :
11:39:00 PM
- بازدید :
561
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
55
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|