jsonecho

XML to Java

Plak een XML-document en krijg Java-types die bij de structuur passen.

De tool wordt geladen...

Zo gebruik je XML to Java

  1. Plak een representatief XML-voorbeeld, bij voorkeur een met alle optionele velden ingevuld.
  2. Stel de naam van het roottype in en bepaal of je ook hulpcode wilt of alleen types.
  3. Kopieer de gegenereerde Java-code naar je project.

Over XML to Java

Modelklassen met de hand schrijven voor een grote XML-payload is saai en daar sluipen typefouten in. Plak hier een voorbeeld en de generator leidt de structuur af: welke velden er zijn, welke objecten zijn, welke arrays en welk type elke waarde heeft. De uitvoer bestaat uit gewone Java-klassen met private velden, getters en setters. Haal het vinkje bij "Alleen types" weg en de uitvoer voegt een Converter-klasse toe met de Jackson-bibliotheek.

XML wordt eerst op dezelfde manier naar JSON geconverteerd als in onze XML to JSON-tool: attributen krijgen een @_-voorvoegsel en tekstinhoud naast attributen heet #text. De Java-types worden uit dat resultaat gegenereerd. Geneste objecten worden geneste of aangrenzende klassen en arrays worden List of arrays van het elementtype.

De gegenereerde code gebruiken

Voeg de klassen aan je project toe en lees de JSON met new ObjectMapper().readValue(json, Root.class) als je de Jackson-hulpcode hebt behouden.

Velden die null kunnen zijn gebruiken de omhulde types zoals Integer en Double, zodat een ontbrekende waarde als null binnenkomt.

Veelgestelde vragen

Waarvan hangt de gegenereerde Java-code af?

De uitvoer bestaat uit gewone Java-klassen met private velden, getters en setters. Haal het vinkje bij "Alleen types" weg en de uitvoer voegt een Converter-klasse toe met de Jackson-bibliotheek.

Hoe parseer ik XML met het resultaat?

Converteer de XML eerst naar JSON (onze XML to JSON-tool doet dat op dezelfde manier), voeg dan de klassen aan je project toe en lees de JSON met new ObjectMapper().readValue(json, Root.class) als je de Jackson-hulpcode hebt behouden.

Hoe worden optionele en ontbrekende velden behandeld?

Velden die null kunnen zijn gebruiken de omhulde types zoals Integer en Double, zodat een ontbrekende waarde als null binnenkomt.

Kijkt de generator naar meer dan één record?

Hij kent alleen wat in je voorbeeld staat. Ontbreekt een veld in je voorbeeld, dan verschijnt het niet in de types, en is een waarde in je voorbeeld null, dan is het type onbekend. Plak een voorbeeld waarin zoveel mogelijk velden zijn ingevuld, of plak een array met meerdere verschillende records.

Wordt mijn XML naar een server gestuurd?

Nee. De generator wordt de eerste keer dat je hem gebruikt naar je browser gedownload, ongeveer 1 MB, en alles draait lokaal.

Meer in Data naar klasse

Alle tools →