Я с удовольствием расскажу вам о том, как использовать JsonDocument для конвертации JSON в XML без использования библиотеки Newtonsoft.Json на языке C#.Сначала давайте разберемся, что такое JsonDocument. Введенный в .NET Core 3.0 и выше, JsonDocument представляет собой неизменяемый документ JSON, который можно разбирать и анализировать. В отличие от Newtonsoft.Json, JsonDocument не требует дополнительной установки и может использоваться непосредственно в вашем проекте.Для начала нам понадобится строка JSON, которую мы хотим преобразовать в XML. Допустим у нас есть следующая строка JSON⁚
[
{
″LastName″⁚ ″Ivanov″,
″FirstName″⁚ ″Mihail″,
″FatherName″⁚ ″Alexandrovich″,
″Age″⁚ 20,
″Group″⁚ 1
},
{
″LastName″⁚ ″Petrova″,
″FirstName″⁚ ″Irina″,
″FatherName″⁚ ″Pavlovna″,
″Age″⁚ 20,
″Group″⁚ 1
}
]
Теперь давайте приступим к преобразованию этой строки JSON в XML с использованием JsonDocument. Для этого нам потребуется создать экземпляр JsonDocument с помощью метода Parse из пространства имен System.Text.Json. Затем мы переберем каждый элемент в массиве и создадим соответствующий элемент XML.Вот как выглядит код⁚
csharp
using System;
using System.Text.Json;
using System.Xml.Linq;
class Program
{
static void Main
{
string jsonString @″[
{″″LastName″″⁚ ″″Ivanov″″, ″″FirstName″″⁚ ″″Mihail″″, ″″FatherName″″⁚ ″″Alexandrovich″″, ″″Age″″⁚ 20, ″″Group″″⁚ 1},
{″″LastName″″⁚ ″″Petrova″″, ″″FirstName″″⁚ ″″Irina″″, ″″FatherName″″⁚ ″″Pavlovna″″, ″″Age″″⁚ 20, ″″Group″″⁚ 1}
]″;
JsonDocument jsonDocument JsonDocument.Parse(jsonString);
XElement rootElement new XElement(″Root″);
foreach (JsonElement element in jsonDocument.RootElement.EnumerateArray)
{
XElement personElement new XElement(″Person″);
foreach (JsonProperty property in element.EnumerateObject)
{
XElement propertyElement new XElement(property.Name, property.Value.ToString);
personElement.Add(propertyElement);
}
rootElement.Add(personElement);
}
XDocument xmlDocument new XDocument(rootElement);
Console.WriteLine(xmlDocument);
}
}
В результате мы получим следующий XML⁚
xml
Таким образом, мы успешно преобразовали JSON в XML, используя JsonDocument без библиотеки Newtonsoft.Json на языке C#. Надеюсь, эта информация была полезной для вас!