jsonecho

XML'den Python'a

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

Araç yükleniyor...

XML'den Python'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 Python kodunu projenize kopyalayın.

XML'den Python'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ı, tür ipuçlarıyla dataclass'lardır, ayrıca from_dict ve to_dict yardımcıları.

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. Python türleri o sonuçtan oluşturulur. Geçerli Python tanımlayıcıları olmayan alan adları dönüştürülür ve serileştirme için orijinal ad korunur.

Oluşturulan kodu kullanma

Bir nesne almak için Root.from_dict(json.loads(text)) çağırın ve geri dönmek için to_dict().

İsteğe bağlı alanlar typing modülünden Optional[T] kullanır ve varsayılan olarak None olur.

Sıkça sorulan sorular

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

Çıktı, tür ipuçlarıyla dataclass'lardır, ayrıca from_dict ve to_dict yardımcıları.

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 bir nesne almak için Root.from_dict(json.loads(text)) çağırın ve geri dönmek için to_dict().

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

İsteğe bağlı alanlar typing modülünden Optional[T] kullanır ve varsayılan olarak None olur.

Ü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 →