jsonecho

XML în C#

Lipește un document XML pentru a genera tipuri C# care se potrivesc structurii sale.

Se încarcă instrumentul...

Cum folosești XML în C#

  1. Lipește un exemplu XML reprezentativ, de preferat cu toate câmpurile opționale completate.
  2. Alege numele tipului rădăcină și decide dacă vrei și cod ajutător sau doar tipurile.
  3. Copiază codul C# generat în proiectul tău.

Despre XML în C#

Să scrii manual clase de model pentru un volum mare de date XML este monoton și poți face ușor greșeli de tastare. Lipește aici un exemplu, iar generatorul identifică structura: ce câmpuri există, care sunt obiecte, care sunt array-uri și ce tip are fiecare valoare. Rezultatul conține clase cu proprietăți. Debifează "Doar tipuri" pentru a adăuga atribute Newtonsoft.Json și o clasă Converter.

XML este prima dată convertit la JSON în același mod ca și în instrumentul nostru XML la JSON: atributele obțin un @_ Prefixul și conținutul de text alături de atribute este numit #text. Tipurile C# sunt generate din acest rezultat. Numele proprietăților sunt convertite în PascalCase și primesc un atribut JsonProperty, astfel încât cheia originală să fie păstrată.

Utilizarea codului generat

Cu ajutoarele, apelează Root.FromJson(json). Cu numai tipuri, utilizare JsonSerializer.Deserialize<Root>(json) de la System.Text.Json și adaugă atribute dacă numele diferă.

Utilizarea membrilor anulabili long?, double? și așa mai departe, plus tipuri de referință nullabile, dacă este cazul.

Întrebări frecvente

Ce dependențe are codul C# generat?

Rezultatul conține clase cu proprietăți. Debifează "Doar tipuri" pentru a adăuga atribute Newtonsoft.Json și o clasă Converter.

Cum să analizez XML cu rezultatul?

Convertează XML-ul în JSON mai întâi (instrumentul nostru XML-ul în JSON face acest lucru în același mod), apoi cu ajutoarele, apelează Root.FromJson(json). Cu numai tipuri, utilizare JsonSerializer.Deserialize<Root>(json) de la System.Text.Json și adaugă atribute dacă numele diferă.

Cum sunt tratate câmpurile opționale și cele care lipsesc?

Utilizarea membrilor anulabili long?, double? și așa mai departe, plus tipuri de referință nullabile, dacă este cazul.

Generatorul analizează mai mult de o înregistrare?

Generatorul cunoaște doar datele din exemplul tău. Un câmp care lipsește din exemplu nu va apărea în tipurile generate. Dacă o valoare este null, tipul ei nu poate fi determinat. Lipește un exemplu cu cât mai multe câmpuri completate sau un array cu mai multe înregistrări diferite.

Datele mele XML sunt trimise la un server?

Nu. La prima utilizare, generatorul este descărcat în browser, aproximativ 1 MB. Apoi totul rulează local.

Mai multe din Din date în clase

Toate instrumentele →