XML en iyi uygulamalar: vs ek unsurlar öznitelikleri
İkisi arasında ne fark var ve her zaman kullanmalıyım:
<person>
<firstname>Joe</firstname>
<lastname>Plumber</lastname>
</person>
karşı
<person firstname="Joe" lastname="Plumber" />
Teşekkürler
CEVAP
XML, örnek, ilk öğe merkezli, ikincisi öğe merkezli ve öznitelik merkezli vardır merkezli bağlıyor.
Çoğu zaman, bu iki modelin eşdeğerdir, ancak bazı istisnalar vardır.
Merkezli bağlıyor
- Öğe merkezli daha küçük boyutta.
- Çok çalışabilir, en XML ayrıştırıcıları kullanıcı veri öğesi tarafından sunulan düşünecek beri, Öznitelikleri öğesi tanımlamak için kullanılır.
- Bazı veri türü için NULL değer sunmak için bir yolu yoktur. örneğin null int
- Karmaşık tür ifade edemez.
Öğe merkezli
- Karmaşık türü, yalnızca bir öğe düğümü olarak sunulabilir.
- Çok çalışabilir
- Öznitelik merkezli daha büyük boyutta. (sıkıştırma önemli ölçüde boyutunu elimine etmek için kullanılabilir)
- Null veri özniteliği xsi ile ifade edilebilir:="" . gerçek nil
- Daha hızlı çözümleyici sadece kullanıcı verisi için öğeleri arar beri ayrıştırılamıyor.
Pratik
Eğer seni gerçekten önemsiyorum boyutu XML, kullanım özniteliği zaman eğer uygunsa, Bırakın null, karmaşık türü ve düğüm tutacak büyük metin değeri gibi unsurlar, Eğer umurunda değil boyutu XML veya sıkıştırmayı etkinleştir sırasında ulaştırma, sopayla elemanları. Daha fazla genişletilebilir.
Arka plan
DOT NET, XmlSerializer ya da öznitelik veya öğe içine nesnelerin özelliklerini seri hale getirmek. Son zamanlarda bisiklet Federasyonu çerçevesinde, DataContract seri hale getirici sadece elementlerin özellikleri XmlSerializer seri hale getirmek ve daha hızlı, nedeni belli, sadece kaldırmada süre elemanları kullanıcı verilerine bakmak gerekiyor.
Burada bir madde de açıklıyor Element vs attribute
Derleme Öznitelikleri kullanmak için e...
İmza için en iyi uygulamalar .NET derl...
Neden Heroku benim temel uygulamalar i...
Android SQLite için en iyi uygulamalar...
İlan Android öznitelikleri styleable...