jsonecho

XML у C#

Вставте документ XML, щоб створити типи C#, які відповідають його структурі.

Завантаження інструмента...

Як користуватися XML у C#

  1. Вставте показовий приклад XML, бажано з усіма заповненими необов’язковими полями.
  2. Задайте назву кореневого типу й виберіть, чи потрібен вам допоміжний код, чи лише типи.
  3. Скопіюйте згенерований код C# у свій проєкт.

Про XML у C#

Писати класи моделей вручну для великого обсягу XML-даних нудно, і так легко припуститися друкарської помилки. Вставте сюди приклад, і генератор визначить структуру: які поля є, які з них об’єкти чи масиви та який тип має кожне значення. Результат — класи з властивостями. Зніміть прапорець "Лише типи", щоб додати атрибути Newtonsoft.Json і клас Converter.

XML спочатку перетворюється на JSON таким же чином, як у нашому інструменті XML на JSON: атрибути отримують @_ Префікс і зміст тексту поруч з атрибутами називається #text. Типи C# створюються з цього результату. Назви властивостей перетворюються на PascalCase й отримують атрибут JsonProperty, щоб зберегти початковий ключ.

Використання згенерованого коду

З помощниками, зателефонуйте Root.FromJson(json). Використовується лише з типами JsonSerializer.Deserialize<Root>(json) з System.Text.Json і додати атрибути, якщо імена відрізняються.

Використання анулюваних членів long?, double? і так далі, плюс нулеві референтні типи, якщо це необхідно.

Поширені запитання

Які залежності має згенерований код C#?

Результат — класи з властивостями. Зніміть прапорець "Лише типи", щоб додати атрибути Newtonsoft.Json і клас Converter.

Як проаналізувати XML з результатом?

Спершу перетворити XML на JSON (наше інструмент XML на JSON робить це таким же чином), потім з помощниками, зателефонуйте Root.FromJson(json). Використовується лише з типами JsonSerializer.Deserialize<Root>(json) з System.Text.Json і додати атрибути, якщо імена відрізняються.

Як обробляються необов’язкові та відсутні поля?

Використання анулюваних членів long?, double? і так далі, плюс нулеві референтні типи, якщо це необхідно.

Чи аналізує генератор більше одного запису?

Генератор знає лише те, що є у вашому прикладі. Якщо поля немає в прикладі, воно не з’явиться в типах. Якщо значення в прикладі дорівнює null, його тип визначити неможливо. Вставте приклад із якомога більшою кількістю заповнених полів або масив із кількома різними записами.

Чи надсилаються мої дані XML на сервер?

Ні. Під час першого використання генератор завантажується у браузер, приблизно 1 МБ. Далі все виконується локально.

Більше в категорії Дані в класи

Усі інструменти →