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

Hva verktøyet gjør

Om du noen gang har måttet klaske sammen XML for hånd som speiler en Swift-struct — til en plist, til en SOAP-klient som snakker med et legacy-ERP, eller til en testfixture for XMLParser — så vet du hvor mange krøllparenteser du ender med å taste. Lim inn Swift her, og du får velformet XML tilbake i én omgang. Én struct, en fil med flere structs og enums, eller en utfylt let order = Order(...)-instans — resultatet er det samme: et komplett XML-dokument der hver property er bevart.

Dette er ikke dum strengerstatning. Konvertereren vet hvordan Swift faktisk serialiserer — omtrent som en Codable-drevet XMLEncoder ville håndtere det. Decimal-verdier kommer ut som ren numerisk tekst, Date blir en ISO-8601-streng, UUID blir standardformatet 8-4-4-4-12 i hex, og Optional<T> med nil blir et tomt element i stedet for å forsvinne. Arrays følger en konsistent container-form — hver array blir et wrapper-element med ett barn per item, oppkalt etter elementtypen.

Coding-tilpasninger blir også respektert. En nestet enum CodingKeys: String, CodingKey mapper om propertynavnene i outputen, så orderId kan komme ut som OrderId i XML-en uten at du rører structen. Nestede structs og enums foldes ut inline. Lim inn flere typer, og hver enkelt lander i outputen med formen intakt — konvertereren følger de samme overordnede designmålene som Swift API Design Guidelines, så navn og casing forblir forutsigbare.

Slik bruker du det

Tre steg. Funker likt enten du limer inn en fem-linjers struct eller en hel modellfil.

1

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

Slå inn Swift-en slik den er i den venstre editoren. En struct, en enum med associated values, en utfylt let-instans, eller en fil med flere typer — alt går fint. Klikk på Last inn eksempel hvis du vil se et realistisk eksempel først.

Du trenger ikke fjerne import-uttrykk, plukke bort @propertyWrapper-er eller rydde opp i Swift-syntaksen. La koden stå slik den ser ut i Xcode. Bare lim den inn.

2

Trykk Konverter

Klikk på den grønne Konverter-knappen. Verktøyet leser Swift-koden, bevarer hver type og property, og bygger XML-en i én omgang. Mens det jobber snurrer en kort lasteindikator.

3

Kopier XML-en

Høyre panel fylles med innrykket, velformet XML som en hvilken som helst standardkompatibel XML-parser (XMLParser, lxml, System.Xml, hva du vil) vil akseptere. Kopier den rett inn i plist-en din, SOAP-bodyen eller testfixturen.

Når dette faktisk redder dagen

plist-generering for iOS / macOS

Ta en Swift-settings-struct og få et Info.plist-aktig XML-dokument du kan slippe rett inn i Xcode — ingen håndskrevne <code>&lt;key&gt;&lt;/key&gt;</code>-par, ingen whitespace-bugs. Passer godt med Apples <a href="https://developer.apple.com/documentation/foundation/propertylistserialization" target="_blank" rel="noopener">PropertyListSerialization</a>-API-er på decoding-siden.

SOAP-klienter på Apple-plattformer

En Swift-request-type må ut av appen som SOAP. Lim inn structen, dropp XML-bodyen i SoapUI eller Postman, verifiser kontrakten uten å skrive envelope for hånd.

Seeding av testfixtures

Gjør en utfylt <code>let order = Order(...)</code> fra en unit-test om til en XML-seed-fil for XCTest-integrasjonstester, mock-servere eller backend-systemer som fortsatt snakker XML.

Holde docs i sync

Generer XML-eksempler for en README, en intern wiki eller XSD-baserte skjemadocs rett fra de faktiske Swift-modellene dine, slik at dokumentasjonen aldri sklir ut av takt med koden.

Vanlige spørsmål

Kan jeg lime inn flere structs på én gang?

Ja — lim inn en hel fil. Hver top-level-struct eller -enum kommer gjennom med nestede typer foldet ut og defaultverdier fylt inn. Ingenting faller stille bort.

Respekterer det CodingKeys?

Ja. En nestet enum CodingKeys: String, CodingKey mapper om propertynavnene i XML-outputen — case orderId = "OrderId" sender ut <OrderId> i stedet for <orderId>. Properties som ikke står i CodingKeys faller tilbake til Swift-navnet sitt. Det matcher hvordan Codable faktisk virker.

Hvordan håndteres Decimal, Date og Optional?

Decimal kommer ut som ren numerisk tekst. Date blir en ISO-8601-streng. UUID blir en standard 8-4-4-4-12-hex-streng. Optional<T> med nil blir et tomt element i stedet for å forsvinne — så formen holder seg konsistent for konsumenter som validerer mot et XSD.

Og enums med associated values og arrays?

Enums med associated values sendes ut med et discriminator-attributt som navngir casen, pluss barne-elementer for de associated values — nok til å round-trippe dem. Arrays blir til et container-element med ett barn per item, oppkalt etter elementtypen. Dictionary<K,V> blir til en container av <Entry><Key/><Value/></Entry>.

Lagres koden min?

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

Hva om Swift-en har property wrappers, protokoller eller computed properties?

Property wrappers pakkes ut til den underliggende verdien i outputen. Protokoller definerer form, ikke innhold, så de produserer ikke XML direkte — men typer som conformer, gjør. Computed properties hoppes over fordi de er avledet, ikke state. Har koden syntaksfeil, fiks de åpenbare først — parseren er tolerant, men ikke synsk.

Andre verktøy du kanskje trenger

Swift til XML er bare ett stykke av puslespillet. Disse passer godt sammen med det: