Lim inn Kotlin til venstre og klikk på "Konverter" — vi gjør det om til XMLLim inn Kotlin-kode

Hva verktøyet gjør

Hvis du noen gang har måttet skrive en XML-payload for hånd til en Kotlin-data class — til en Android-ressursfil, et SOAP-endepunkt som fortsatt ikke er byttet ut, eller en fixture til en integrasjonstest — vet du hvor slitsomt det er å taste. Lim inn Kotlin her og få tilbake velformet XML i én omgang. En enkelt data class, en fil med flere data classes og sealed classes, eller en utfylt val order = Order(...)-instans — samme resultat: et komplett XML-dokument med hver property bevart.

Det er ingen dum streng-erstatning. Konverteren vet hvordan Kotlin faktisk serialiserer til XML — omtrent slik kotlinx.serialization håndterer det. BigDecimal-verdier kommer ut som vanlig numerisk tekst, Instant og LocalDateTime blir ISO-8601-strenger, nullables med null-verdier blir tomme elementer, og List<T> og Map<K,V> følger en konsistent containerform — hver liste blir et wrapper-element med ett barn per item, navngitt etter elementtypen.

Serialiseringsannoteringer respekteres også. @SerialName("x") på en property døper om elementet i utdataen, @Transient dropper propertyen, og en @SerialName("x") på klassenivå døper om det omsluttende rot-elementet. Sealed class-hierarkier flates ut med en typediskriminator slik at du kan round-trippe dem senere. Limer du inn flere data classes, havner hver av dem i utdataen med nestede typer utvidet og standardverdier fylt inn. Kotlin serialization-dokumentasjonen er verdt en titt hvis du vil ha den grundige versjonen.

Slik bruker du det

Tre steg. Fungerer likt enten du limer inn fem linjer eller en hel modellfil.

1

Lim inn Kotlin-en din (eller prøv eksempelet)

Slipp Kotlin inn i venstre editor slik det er. En data class, et sealed class-hierarki, en utfylt val-instans, eller en fil med flere klasser — alt går. Klikk på Last inn eksempel hvis du vil se et realistisk tilfelle først.

Du trenger ikke å fjerne import-setninger, klippe bort annoteringer eller rydde i Kotlin-syntaksen. La koden stå som den ser ut i IDE-en din. Bare lim inn.

2

Trykk på Konverter

Klikk på den grønne Konverter-knappen. Verktøyet leser Kotlin, bevarer hver klasse og property, og bygger XML-en i én omgang. Det vises en kort lasteindikator mens det pågår.

3

Kopier XML-en

Høyre panel fylles med innrykket, velformet XML som en standardkompatibel XML-parser vil godta. Kopier det rett inn i Android-ressursen din, SOAP-requesten, configfilen eller test-fixturen.

Når det faktisk er nyttig

XML for Android-layout og -ressurser

Du har en Kotlin-modell som mapper til en <a href="https://developer.android.com/guide/topics/resources/providing-resources" target="_blank" rel="noopener">Android-XML-ressurs</a> — en preferences-skjerm, en string-array, et sett egendefinerte attributter. Lim inn klassen, hent ut XML-en, lim inn i res/xml eller res/values.

SOAP-klienter på JVM

En Kotlin-requesttype må ut av appen som SOAP. Lim inn data class-en, slipp XML-bodyen i SoapUI eller Postman, verifiser kontrakten uten å skrive konvolutten for hånd.

Seed til testfixtures

Gjør en utfylt <code>val order = Order(...)</code>-instans fra enhetstesten om til en XML-seedfil for integrasjonstester, mock-servere eller legacy-systemer som fortsatt snakker XML.

Holde docs i synk

Generer XML-eksempler til en README, en API-referanse eller XSD-baserte skjemadocs rett fra dine faktiske Kotlin-modeller, slik at dokumentasjonen matcher koden i stedet for å gli fra den.

Vanlige spørsmål

Kan jeg lime inn flere data classes på én gang?

Ja — lim inn en hel fil. Hver top-level data class eller sealed class kommer gjennom med nestede typer utvidet og standardverdier fylt inn. Ingenting droppes i stillhet.

Respekterer den @SerialName og @Transient?

Ja. @SerialName("x") på en property døper om elementet i utdataen, @SerialName("x") på en klasse døper om det omsluttende rot-elementet, og @Transient fjerner propertyen helt. Det er oppførselen du får fra kotlinx.serialization.

Hvordan håndterer den BigDecimal, Instant og nullables?

BigDecimal kommer ut som vanlig numerisk tekst (ingen BigDecimal("...")-wrapper). Instant og LocalDateTime blir ISO-8601-strenger. Nullables med null-verdi blir tomme elementer i stedet for å fjernes, slik at formen holdes konsistent for konsumenter som validerer mot en XSD.

Hva med sealed classes, lister og maps?

Sealed class-hierarkier flates ut med et typediskriminator-attributt slik at du kan round-trippe dem. List<T> blir et container-element med ett barn per item, navngitt etter elementtypen — en List<OrderItem> items blir <items><OrderItem/><OrderItem/></items>. Map<K,V> blir en container av <Entry><Key/><Value/></Entry>.

Lagres koden min?

Koden din sendes til backenden for konverteringen og lagres ikke — vi logger ikke payloaden. Som alltid med onlineverktøy: er koden virkelig sensitiv, ta en titt på den før du limer inn.

Hva om Kotlin har noe uvanlig — companion objects, extension functions, coroutines?

Companion objects ignoreres for XML-utdataen fordi de ikke er del av instansens tilstand. Extension functions og top-level-funksjoner hoppes over. Har selve koden syntaksfeil, fiks de opplagte først — parseren er tolerant, men ikke tankeleser.

Andre verktøy du kanskje trenger

Kotlin til XML er én brikke. Disse går godt sammen med det: