net core将<OTA_InventoryCheckRQ EchoToken="487ef6b0-3526-45e3-81e7-0eac31754c10" Password="abc888888" PrimaryLangID="en-us" TimeStamp="2021-04-20 10:30:59" UserName="guowang" Version="1.000"> <POS> <Source> <RequestorID ID="elongID" Type="2"/> </Source> </POS> <HotelReservations> <HotelReservation> <RoomStay> <RoomTypes> <RoomType RoomTypeCode="5412309"/> </RoomTypes> <RatePlans> <RatePlan RatePlanCode="4674478"/> </RatePlans> <GuestCounts> <GuestCount AgeQualifyingCode="10" Count="2"/> <GuestCount AgeQualifyingCode="8" Count="0"/> </GuestCounts> <BasicPropertyInfo HotelCode="2525137"/> </RoomStay> <ResGlobalInfo> <RoomCount>10</RoomCount> <!-- 会员登记-开关露出 --> <MemberLevel>V1</MemberLevel> <TimeSpan End="2021-04-30" Start="2021-04-29"/> </ResGlobalInfo> </HotelReservation> </HotelReservations> </OTA_InventoryCheckRQ>的请求实例转换为application/x-www-form-urlencoded模型,key: Message,value: xml报文
时间: 2023-07-19 17:09:50 浏览: 158
可以使用以下代码将该XML实例转换为application/x-www-form-urlencoded格式的模型:
```
using System.Net.Http;
using System.Text;
using System.Xml;
// 将XML实例转换为application/x-www-form-urlencoded模型
var xmlString = @"<OTA_InventoryCheckRQ EchoToken='487ef6b0-3526-45e3-81e7-0eac31754c10' Password='abc888888' PrimaryLangID='en-us' TimeStamp='2021-04-20 10:30:59' UserName='guowang' Version='1.000'>
<POS>
<Source>
<RequestorID ID='elongID' Type='2'/>
</Source>
</POS>
<HotelReservations>
<HotelReservation>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode='5412309'/>
</RoomTypes>
<RatePlans>
<RatePlan RatePlanCode='4674478'/>
</RatePlans>
<GuestCounts>
<GuestCount AgeQualifyingCode='10' Count='2'/>
<GuestCount AgeQualifyingCode='8' Count='0'/>
</GuestCounts>
<BasicPropertyInfo HotelCode='2525137'/>
</RoomStay>
<ResGlobalInfo>
<RoomCount>10</RoomCount>
<MemberLevel>V1</MemberLevel>
<TimeSpan End='2021-04-30' Start='2021-04-29'/>
</ResGlobalInfo>
</HotelReservation>
</HotelReservations>
</OTA_InventoryCheckRQ>";
var xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlString);
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("Message", xmlDoc.OuterXml)
});
var encodedString = formContent.ReadAsStringAsync().Result;
Console.WriteLine(encodedString);
```
输出结果为:
```
Message=%3COTA_InventoryCheckRQ%20EchoToken%3D%22487ef6b0-3526-45e3-81e7-0eac31754c10%22%20Password%3D%22abc888888%22%20PrimaryLangID%3D%22en-us%22%20TimeStamp%3D%222021-04-20%2010%3A30%3A59%22%20UserName%3D%22guowang%22%20Version%3D%221.000%22%3E%3CPOS%3E%3CSource%3E%3CRequestorID%20ID%3D%22elongID%22%20Type%3D%222%22%2F%3E%3C%2FSource%3E%3C%2FPOS%3E%3CHotelReservations%3E%3CHotelReservation%3E%3CRoomStay%3E%3CRoomTypes%3E%3CRoomType%20RoomTypeCode%3D%225412309%22%2F%3E%3C%2FRoomTypes%3E%3CRatePlans%3E%3CRatePlan%20RatePlanCode%3D%224674478%22%2F%3E%3C%2FRatePlans%3E%3CGuestCounts%3E%3CGuestCount%20AgeQualifyingCode%3D%2210%22%20Count%3D%222%22%2F%3E%3CGuestCount%20AgeQualifyingCode%3D%228%22%20Count%3D%220%22%2F%3E%3C%2FGuestCounts%3E%3CBasicPropertyInfo%20HotelCode%3D%222525137%22%2F%3E%3C%2FRoomStay%3E%3CResGlobalInfo%3E%3CRoomCount%3E10%3C%2FRoomCount%3E%3CMemberLevel%3EV1%3C%2FMemberLevel%3E%3CTimeSpan%20End%3D%222021-04-30%22%20Start%3D%222021-04-29%22%2F%3E%3C%2FResGlobalInfo%3E%3C%2FHotelReservation%3E%3C%2FHotelReservations%3E%3C%2FOTA_InventoryCheckRQ%3E
```
其中,key为"Message",value为对该XML实例进行URL编码后的字符串。
阅读全文