jsonecho

XML till Swift

Klistra in ett XML-dokument för att skapa Swift-typer som matchar strukturen.

Laddar verktyget...

Så använder du XML till Swift

  1. Klistra in ett representativt XML-exempel, helst med alla valfria fält ifyllda.
  2. Ange rottypens namn och välj om du vill ha hjälpkod också eller bara typerna.
  3. Kopiera den genererade Swift-koden till ditt projekt.

Om XML till Swift

Att skriva modellklasser för hand för stora XML-data är tidskrävande, och det är lätt att göra skrivfel. Klistra in ett exempel här, så identifierar generatorn strukturen: vilka fält som finns, vilka som är objekt eller arrayer och vilken datatyp varje värde har. Resultatet är Codable-structar som fungerar direkt med JSONDecoder och JSONEncoder.

XML konverteras först till JSON på samma sätt som i vårt XML till JSON-verktyg: attribut får en @_ Prefix och textinnehåll bredvid attribut kallas #text. Swift-typerna skapas utifrån det resultatet. Egenskapsnamn konverteras till lowerCamelCase. Om de skiljer sig från originalnycklarna kopplas de ihop med hjälp av en CodingKeys-enum.

Använd den genererade koden

Dekodera med try JSONDecoder().decode(Root.self, from: data).

De valfria värdena skrivs in med ett frågestempel, t.ex. String?, som dekoderar noll och saknade nycklar som noll.

Vanliga frågor

Vilka beroenden har den genererade Swift-koden?

Resultatet är Codable-structar som fungerar direkt med JSONDecoder och JSONEncoder.

Hur analyserar jag XML med resultatet?

Konvertera XML till JSON först (vår XML till JSON verktyg gör detta på samma sätt), sedan decodera med try JSONDecoder().decode(Root.self, from: data).

Hur hanteras valfria fält och fält som saknas?

De valfria värdena skrivs in med ett frågestempel, t.ex. String?, som dekoderar noll och saknade nycklar som noll.

Undersöker generatorn mer än en post?

Generatorn känner bara till det som finns i ditt exempel. Fält som saknas i exemplet kommer inte med i typerna. Om ett värde är null i exemplet går det inte att avgöra dess typ. Klistra in ett exempel där så många fält som möjligt är ifyllda, eller en array med flera olika poster.

Skickas min XML till en server?

Nej. Första gången du använder generatorn laddas den ner till din webbläsare, cirka 1 MB. Sedan körs allt lokalt.

Fler verktyg i Data till klasser

Alla verktyg →