Я хочу преобразовать ответ JSON в эквивалентный XML-документ, но при этом я также хочу сохранить текущий формат даты и времени вместе со смещением, например, DateTime в JSON — «2019-10-25T07:00:00-05: 00", и после преобразования я хочу, чтобы он оставался прежним. Но после преобразования в XML значение DateTime становится «2019-10-25T08:00:00-04:00».
Я пытался искать об этом в документах Microsoft, но не нашел ответа на следующие вопросы:
- Как определить часовой пояс заданной строки даты и времени (например, «2019-10-25T07:00:00-05:00»)?
- Как преобразовать строку даты и времени (например, «2019-10-25T08:00:00-04:00») в дату и время нужного часового пояса (например, в часовой пояс «2019-10- 25T07:00:00-05:00")
// C# Code Snippet
// Step 1: Reading JsonResponse from a file
string jsonString = System.IO.File.ReadAllText(@"C:\TestDateTimeConvertJSONResponse.txt");
// Step 2: Converting jsonString to XMLDoc
System.Xml.XmlDocument xmlDoc = Newtonsoft.Json.JsonConvert.DeserializeXmlNode(jsonString);
Console.WriteLine();
Console.WriteLine("EQUIVALENT XML RESPONSE");
Console.WriteLine(xmlDoc.InnerXml);
Введите строку JSON:
{
"Flight": {
"FlightNumber": "747",
"Source": "JFK",
"Destination": "LAS",
"Status": "ON TIME",
"DepDateTime": "2019-10-25T07:00:00-05:00",
"Terminal": "2"
}
}
Ожидал:
<Flight>
<FlightNumber>747</FlightNumber>
<Source>JFK</Source>
<Destination>LAS</Destination>
<Status>ON TIME</Status>
<DepDateTime>2019-10-25T07:00:00-05:00</DepDateTime>
<Terminal>2</Terminal>
</Flight>
Действительный:
<Flight>
<FlightNumber>747</FlightNumber>
<Source>JFK</Source>
<Destination>LAS</Destination>
<Status>ON TIME</Status>
<DepDateTime>2019-10-25T08:00:00-04:00</DepDateTime>
<Terminal>2</Terminal>
</Flight>