jsonecho

XML na C#

Wklej dokument XML, aby wygenerować typy C# pasujące do jego struktury.

Ładowanie narzędzia...

Jak korzystać z XML na C#

  1. Wklej reprezentatywny przykład XML, najlepiej z wypełnionymi wszystkimi opcjonalnymi polami.
  2. Podaj nazwę typu głównego i zdecyduj, czy chcesz też kod pomocniczy, czy tylko typy.
  3. Skopiuj wygenerowany kod C# do swojego projektu.

O narzędziu XML na C#

Ręczne pisanie klas modeli dla dużych danych XML jest żmudne i łatwo wtedy o literówki. Wklej tutaj przykład, a generator rozpozna strukturę: jakie pola występują, które są obiektami lub tablicami i jaki typ ma każda wartość. Wynikiem są klasy z właściwościami. Odznacz "Tylko typy", aby dodać atrybuty Newtonsoft.Json i klasę Converter.

XML jest przekształcony w JSON w taki sam sposób, jak w naszym narzędziu XML do JSON: atrybuty otrzymują @_ Prefiks i zawartość tekstu obok atrybutów nazywa się #text. Typy C# są generowane na podstawie tego wyniku. Nazwy właściwości są konwertowane na PascalCase i otrzymują atrybut JsonProperty, aby zachować oryginalny klucz.

Korzystanie z wygenerowanego kodu

Z pomocnikami, dzwoń Root.FromJson(json). W przypadku wyłącznie typów, stosowanie JsonSerializer.Deserialize<Root>(json) z System.Text.Json i dodać atrybuty, jeśli nazwy różnią się.

Używanie członków nieważnych long?, double? i tak dalej, a w stosownych przypadkach typy referencyjne niewymienione.

Często zadawane pytania

Jakie zależności ma wygenerowany kod C#?

Wynikiem są klasy z właściwościami. Odznacz "Tylko typy", aby dodać atrybuty Newtonsoft.Json i klasę Converter.

Jak przeanalizować XML z wynikiem?

Konwertuj XML na JSON najpierw (nasz narzędzie XML do JSON robi to w ten sam sposób), a następnie z pomocnikami, zadzwonić Root.FromJson(json). W przypadku wyłącznie typów, stosowanie JsonSerializer.Deserialize<Root>(json) z System.Text.Json i dodać atrybuty, jeśli nazwy różnią się.

Jak są obsługiwane pola opcjonalne i brakujące?

Używanie członków nieważnych long?, double? i tak dalej, a w stosownych przypadkach typy referencyjne niewymienione.

Czy generator analizuje więcej niż jeden rekord?

Generator zna tylko to, co znajduje się w Twoim przykładzie. Pole, którego nie ma w przykładzie, nie pojawi się w typach. Jeśli wartość w przykładzie to null, nie da się ustalić jej typu. Wklej przykład z jak największą liczbą wypełnionych pól albo tablicę z kilkoma różnymi rekordami.

Czy moje dane XML są wysyłane na serwer?

Nie. Przy pierwszym użyciu generator jest pobierany do przeglądarki, około 1 MB. Potem wszystko działa lokalnie.

Więcej w kategorii Dane na klasy

Wszystkie narzędzia →