jsonecho

XML na Crystal

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

Ładowanie narzędzia...

Jak korzystać z XML na Crystal

  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 Crystal do swojego projektu.

O narzędziu XML na Crystal

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 zawierające JSON::Serializable z biblioteki standardowej.

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 Crystal są generowane na podstawie tego wyniku. Właściwości są deklarowane makrem property, a klucze w razie potrzeby mapowane adnotacją JSON::Field.

Korzystanie z wygenerowanego kodu

Zadzwoń . Root.from_json(json) do parsowania i to_json do zapisu.

Opcjonalne pola to typy unii, takie jak: String | Nil.

Często zadawane pytania

Jakie zależności ma wygenerowany kod Crystal?

Wynikiem są klasy zawierające JSON::Serializable z biblioteki standardowej.

Jak przeanalizować XML z wynikiem?

Konwertuj najpierw XML na JSON (nasz narzędzie XML do JSON robi to w ten sam sposób), a następnie zadzwoń Root.from_json(json) do parsowania i to_json do zapisu.

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

Opcjonalne pola to typy unii, takie jak: String | Nil.

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 →