jsonecho

XML na Go

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

Ładowanie narzędzia...

Jak korzystać z XML na Go

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

O narzędziu XML na Go

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ą struktury ze znacznikami json oraz funkcjami pomocniczymi Unmarshal i Marshal.

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 Go są generowane na podstawie tego wyniku. Nazwy są eksportowane w PascalCase, a skróty takie jak ID i URL pozostają wielkimi literami, zgodnie z oczekiwaniami linterów.

Korzystanie z wygenerowanego kodu

Zadzwoń . UnmarshalRoot(data), lub wykorzystanie json.Unmarshal(data, &root) jeśli skopiowano tylko typy.

Pole opcjonalne są wskaźnikami z omitempty znacznik, więc wartości brakujące i zerowe można oddzielić.

Często zadawane pytania

Jakie zależności ma wygenerowany kod Go?

Wynikiem są struktury ze znacznikami json oraz funkcjami pomocniczymi Unmarshal i Marshal.

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ń UnmarshalRoot(data), lub wykorzystanie json.Unmarshal(data, &root) jeśli skopiowano tylko typy.

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

Pole opcjonalne są wskaźnikami z omitempty znacznik, więc wartości brakujące i zerowe można oddzielić.

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 →