jsonecho

XML till C#

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

Laddar verktyget...

Så använder du XML till C#

  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 C#-koden till ditt projekt.

Om XML till C#

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 klasser med egenskaper. Avmarkera "Endast typer" för att även få Newtonsoft.Json-attribut och en Converter-klass.

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. C#-typerna skapas utifrån det resultatet. Egenskapsnamn konverteras till PascalCase och får ett JsonProperty-attribut så att originalnyckeln bevaras.

Använd den genererade koden

Med hjälparna, anropa Root.FromJson(json). Endast med typer, användning JsonSerializer.Deserialize<Root>(json) från System.Text.Json och lägg till attribut om namnen skiljer sig åt.

Avbrytbara medlemmar använder long?, double? och så vidare, plus nullerbara referenstyper där det är relevant.

Vanliga frågor

Vilka beroenden har den genererade C#-koden?

Resultatet är klasser med egenskaper. Avmarkera "Endast typer" för att även få Newtonsoft.Json-attribut och en Converter-klass.

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 med hjälparna, anropa Root.FromJson(json). Endast med typer, användning JsonSerializer.Deserialize<Root>(json) från System.Text.Json och lägg till attribut om namnen skiljer sig åt.

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

Avbrytbara medlemmar använder long?, double? och så vidare, plus nullerbara referenstyper där det är relevant.

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 →