Ne XML için iyidir ve zaman ben bunu kullanarak olmalıdır?

10 Cevap php

Ben oldukça güçlü web siteleri / web uygulamaları geliştirme oldum, merak ediyorum, ben bile tuhaf hususun gerçekten ihtiyacı hissettim asla, XML öğrendim hiç. Bu kıvırmak veya Hazırlanan Tablolar nerede, ne yaptıklarını bilmeden eskisi gibi değil ve onlar nasıl çalıştı, ben bir duygu vardı 'bunu yapmak için daha kolay bir yol olarak orada var!' ya da 'bunun için tasarlanmış bir şey için orada var!'.

Şu anda ben MySQL ve JSON ile çalışmak ve ben (XML) 'Ben bu öğrenmek gerekir' bu duygu yok, bu yanlış olmalı!

Ben XML için biraz zorlayıcı argümanlar duymak gerçekten ilgileniyorum, ve ben bunu kullanarak olmalıdır zaman JSON veya MySQL (veya web dev diğer bazı yönü) daha beter yapmak ve yapabileceğiniz şeyler hakkında bilgi!

10 Cevap

JSON ön ucuna etrafında geçen veri için daha uygun kılan çok hafiftir.

XML has descriptive tags that (I personally find) make it easier to read in a raw format. If I wanted to have any sort of settings file that is loaded in from my program, i would have it in an XML file format.

Bu yine de benim fikrim, ama başka birisini tercih için çok daha derinlemesine nedenleri vardır eminim. Hangi i listelemek için yeterince deneyimli değilim :)

Ancak ben bazı iyi noktaları oluşturan sitelerin bir çift buldun.

http://ajaxian.com/archives/json-vs-xml-the-debate (yorumlarda bazı iyi noktaları)

http://webignition.net/articles/xml-vs-yaml-vs-json-a-study-to-find-answers/

XML genel kullanım amaçlı araçlar kendilerine uygulanabilir ve bir fazlalık arzu olduğu durumlarda, heterojen ağaç yapıları depolamak için yararlıdır. Eğer modern web geliştirme yapıyorsanız, zaten olması kullanıyor olmalı, böylece XHTML yerine HTML üretiyoruz ve RSS veya Atom üretiyoruz iyi bir şans var. En yaygın RDF biçimleri kullanın.

JSON web üzerinde veri ile çalışmak için biraz daha kolay, ama aynı özellik seti var değil - veri ve meta-veriler arasında örtük bir fark yoktur yani JSON özelliklere sahip olamaz, ve bunu yapmazsanız işleme talimatını veya metin tekrarlanan parçalar için nesneler yaratmak için yeteneği var. Diğer taraftan, XMLl birçok kullanım ya da bu özellikleri kullanmayın. SQL veritabanları sabit bir şema var, ve de ağaçlar temsil etmemektedir.

Çoğunlukla XML birlikte çalışabilirlik için kullanılır.

Diğer serileştirme formatları üzerinde XML avantajlarından biri mevcut araçları sayısıdır. Diğer veri açıklamasını (XML Şema) resmileştirmek için yeteneğidir.

Araçların kullanılabilirliği XML editörleri, transformatörler, visualizers'nı, ... nerede iş Örneğin, biz içerik ve meta verileri düzenlemek için bir XML editörü kullanarak iletişim ekibimiz var kullanmanızı sağlar. Bunlar elinde (veya XML) ile JSON yazmak için yeterli teknik değil, ama onlara gerekli belgeleri düzenlemek için güzel bir genel önyüz ile bir şablon vermek çok kolaydır.

(..., NG Rahatla, XSD, DTD) biçimini tanımlamak için bir yol olması, ayrıca automagically belgeleri doğrulamak anlamına gelir. Ayrıca izin ne çok iyi bir dokümantasyon olarak hizmet vermektedir ve belgeler ne değildir.

XML (görünüşte) uygulaması agnostik yapılandırılmış bir şekilde mesajlarını depolamak için basitçe. Bu, o kadar. Başka bir yol, XML, farklı uygulamalar arasında iletişim kurarken veri semantik (anlam) korumak için bir yol sunar söyledi. Bu (1) bir yapılandırma dosyası * farklı uygulama oturumları arasında sadece bir mesaj olduğunu ve (2) hemen her dilde olgun, standart XML kütüphaneleri de yana bir yapılandırma biçimi olarak popüler.

* Ayrıca uygulamalar arasında iletişim bu şekilde sadece bir dejenere durumda düşünmek olabilir.

Ben web sitesi etiketler, etiketler vs, ya da olmayan tekrarlayan içerik çeviriler için XML kullanın. Bu tür bir şey için, bir cankurtaran.

Eğer JSON veya YAML aşina iseniz Ancak, yapılandırma dosyaları için veya taşıma biçimi ağırlıklı olarak XML kullanmak, onlar sizin için sadece para cezası olabilir, bu yüzden XML öğrenmek için gerçek bir ihtiyaç vardır.

"XML bilmek" farklı bir kaç şey anlamına gelebilir.

İlk temel sözdizimi anlayışıdır. Bu XHTML, SVG, Atom, RSS, XML ve uygulamaları diğer dillerde bir dizi yazı için bir ön koşuldur.

İkinci birinci üzerine inşa ve bir kendi XML uygulamaları, yani özel veri depolama veya değişim biçimlerini geliştirmek için nasıl anlamak. JSON benzer bir role sahiptirler ve bu tür örtülü veri dizisini temsil edememek gibi bazı avantajlara sahiptir (edebilirsiniz:. { bar: ['foo'] } XML bir ayrıştırıcı [) (1] {içeriğini dönüştürmek bilmek gerekir } programlama dili için bir diziye siz) basit bir veri yapısı olarak <bar><foo/></bar>) ve dezavantajları (XML daha az çaba ile herhangi bir sırayla isteğe şeyler var sağlar) tedavi etmek istiyorum.

XML veri değişimi ve başka bir şey için iyi için tek çözümdür.

Yani, size olacak ayrıştırmak veya RSS beslemesi kaynağı yalnızca XML öğrenmek zorunda. Hayır olsa roket bilimi, bazı katı kurallar ile HTML olarak aynı biçimlendirme dili olduğu gibi.

Ol' good article from ol' good Joel şeyleri sıralamak

XML için bir format olarak yararlıdır:

  • platformlar arasında veri taşıma
  • bir veritabanı yedekleme veya ihracat metin
  • çapraz dil entegrasyonu

İçerik yönetim sistemleri bu amaç için kullanabilirsiniz. Bu skechers.com kullanılan ve üzerinde açıklandığı gibi, aynı zamanda istemci tarafı çiftleşmiş kod önbelleğe alma için yararlı bir comment from Mark Beeson on Tim Bray's site:

Neyse ki, orada is hala sayfaları saygı ve hala canavarca URL'ler olmadan doğru yerlerde AJAX sunarken, istemci üzerinde tüm görünüm katmanı önbelleğe için bir yol. Skechers.com kaynağını kontrol - biz tarayıcıda önbelleğe alır istemci tarafı XSLT kullanarak konum, ve bir xsl dosyası tüm sitenin düzenini açıklar. Bu şekilde, bir sayfadan diğerine gezinirken, sadece XML küçük bir miktar indirme ediyoruz. Biz bu son derece bizim app hızlandırır ve bize önbelleğe büyük, büyük bir miktar çekip olanak bulundu.

PHP ile, en dinamik dillerinde olduğu gibi, en iyi birlikte çalışabilirlik amaçlar küme bulunuyor. XML Java daha yeniden yazmak için hızlıdır, ancak PHP XML daha yeniden yazmak için hızlıdır.