jsonecho

XML'den C#'a

Bir XML belgesi yapıştırın ve yapısıyla eşleşen C# türleri alın.

Araç yükleniyor...

XML'den C#'a nasıl kullanılır

  1. Temsili bir XML örneği yapıştırın, ideal olarak tüm isteğe bağlı alanların doldurulduğu bir tane.
  2. Kök türün adını ayarlayın ve yardımcı kod da mı yoksa yalnızca türler mi istediğinize karar verin.
  3. Oluşturulan C# kodunu projenize kopyalayın.

XML'den C#'a hakkında

Büyük bir XML yükü için model sınıflarını elle yazmak sıkıcıdır ve yazım hatalarının sızdığı yerdir. Buraya bir örnek yapıştırın, üretici yapıyı çözer: hangi alanlar var, hangileri nesne, hangileri dizi ve her değerin türü ne. Çıktı özellikli sınıflardır. "Yalnızca türler" seçeneğini kaldırın, çıktı Newtonsoft.Json öznitelikleri ve bir Converter sınıfı ekler.

XML önce XML'den JSON'a aracımızdaki gibi JSON'a dönüştürülür: öznitelikler @_ öneki alır ve özniteliklerin yanındaki metin içeriği #text olarak adlandırılır. C# türleri o sonuçtan oluşturulur. Özellik adları PascalCase'e dönüştürülür ve orijinal anahtarın korunması için bir JsonProperty özniteliğiyle süslenir.

Oluşturulan kodu kullanma

Yardımcılarla Root.FromJson(json) çağırın. Yalnızca türlerle, System.Text.Json'dan JsonSerializer.Deserialize<Root>(json) kullanın ve adlar farklıysa öznitelikler ekleyin.

Null olabilen üyeler long?, double? vb. ve ilgili yerlerde null olabilen başvuru türlerini kullanır.

Sıkça sorulan sorular

Oluşturulan C# kodu neye bağlıdır?

Çıktı özellikli sınıflardır. "Yalnızca türler" seçeneğini kaldırın, çıktı Newtonsoft.Json öznitelikleri ve bir Converter sınıfı ekler.

Sonuçla XML'i nasıl ayrıştırırım?

Önce XML'i JSON'a dönüştürün (XML'den JSON'a aracımız bunu aynı şekilde yapar), sonra yardımcılarla Root.FromJson(json) çağırın. Yalnızca türlerle, System.Text.Json'dan JsonSerializer.Deserialize<Root>(json) kullanın ve adlar farklıysa öznitelikler ekleyin.

İsteğe bağlı ve eksik alanlar nasıl işlenir?

Null olabilen üyeler long?, double? vb. ve ilgili yerlerde null olabilen başvuru türlerini kullanır.

Üretici birden fazla kayda bakar mı?

Yalnızca örneğinizde ne varsa onu bilir. Örneğinizde bir alan eksikse türlerde görünmez ve örneğinizde bir değer null ise türü bilinmez. Mümkün olduğunca çok alanın doldurulduğu bir örnek yapıştırın veya birkaç farklı kayıt içeren bir dizi yapıştırın.

XML'im bir sunucuya gönderiliyor mu?

Hayır. Üretici ilk kullanımınızda tarayıcınıza indirilir, yaklaşık 1 MB, ve her şey yerel olarak çalışır.

Veriden Sınıf içinde daha fazlası

Tüm araçlar →