İçindekiler
Bu belgelerin nasıl oluşturulacağının teknik kısmına girmeden önce, bir dosyanın ne olduğunu anlamalıyız. XMLve gerçek ve güncel uygulamaları nelerdir, bu şekilde bu bölümde edinebileceğimiz bilgileri çok daha fazla takdir edebileceğiz.XML dosyası nedir?Elbette çoğunuz bunun bir dosya olduğunu zaten biliyorsunuzdur. XMLAncak bilmeyenler veya bu terimi ilk defa görenler için kavramını biraz açıklayacağız. XML çok benzer bir işaretleme ve etiketleme dilidir HTML bu, içeriği bir belgede düzenlememizi sağlar. Etiketlerden ve varlıklardan oluşur ve onu oluştururken birkaç kurala uymalıyız.
kesinlikle tarif ettiğimi düşüneceksiniz. HTML ayrıca ve neden yeni bir dil oluşturmak yerine ikincisini kullanmıyoruz, çünkü sadece XML daha katı ve daha özelleştirilebilir, bu yüzden kullanımı çok daha esnek ve anlaşılması daha kolay. üzerindeki etiketler HTML standartınızda zaten tanımlanmışsa, bunun yerine bir XML Etiketler tarafımızca dil kuralları çerçevesinde oluşturulur.
Eğitimin başında, en iyi bilinen uygulamalardan birinden bahsettik. XML ve içeriği uygulamalar tarafından tüketilebilecek şekilde düzenlemektir, temel olarak gerekli olan budur. Bir belge düzenlerken XML denilen şeyi yapabiliriz ayrıştırmak, bu, dosyayı okumaktan başka bir şey değildir ve eğer standarda uyuyorsa yapısının ne olduğunu bilebileceğiz ve böylece söz konusu içeriği programımızda işleyebileceğiz.
Gerçek bir bağlamda, XML aracılığıyla veri iletmek için kullanılabilir. internet servisi veya verileri geri yüklemek ve içe aktarmak için Veri tabanı. Gördüğümüz gibi bir taşınabilirlik formatıdır, yani verileri bir platformdan diğerine taşımaktır. Aynı platform içinde de çalışır; örneğin, her etiketin, uygulamamızın yeterli davranış oluşturmak için okuduğu parametrelere karşılık geldiği bir yapılandırma dosyası.
Her ne kadar son birkaç yılda format JSON web ortamlarında çok fazla popülerlik kazanmıştır ve tartışmasız son zamanlarda popülerlik kazanmaktadır. XML, gerçekte öyle değildir, çünkü her birinin kendi alanı vardır, avantajı JSON yerli mi Javascript ve bu dille çalışmanın yeni yolları sayesinde, dönüştürme pratik olarak gereksizdir.
Ancak masaüstü uygulamaları, sunucu dilleri dışındaki diğer ortamlarda Javascript ve uzun süredir piyasada olan uygulamalar, XML geçerli ve yaygın olarak kullanılan bir seçenektir.
Her zaman olduğu gibi, her şey ihtiyaçlarımıza bağlı, ikisinin de olmadığını söyleyebiliriz. JSON hiç biri XML kötüler, her birinin kapsamı ve amacı var, yani kullanmak istiyorsak XML ve birisi bize modası geçmiş olduğumuzu söylüyor, sadece ihtiyaçlarımız için tamamen geçerli olduğunu bilin.
Daha önce bir dosyayı açıkladığımız gibi XML Etiketlerden oluşur, ancak doğru yorumlanabilmesi için bir başlığa sahip olması ve ardından içerikle başlaması gerekir. Başlık olarak bilinir DTD veya Belge Türü Tanımı, belgenin tür tanımı olarak çevrilebilir ve ardından içerik şema veya şema İspanyolca.
DTD ne yapar?NS DTD bilgiyi verecek olan kişidir. ayrıştırıcı ne tür hakkında XML olduğunu ve içinde şema Belgemiz için yaptığımız içeriğin gideceği yer burasıdır.
Aşağıdaki resimde uygulama geliştirme ortamımızda sahip olduğumuz bir test belgesinin nasıl göründüğünü göreceğiz:
kullanarak bunu kolayca düzeltebiliriz. başlık ve değiştirmek MIME Türü text / xml ile bu, tercümanı yapacak PHP artık içeriğimizin başlığını bir hata olarak kabul etmeyin XML üretiyoruz demektir. Küçük örneğimizi oluşturmak için kullanacağımız kodu aşağıda görelim:
"Dövüş Kulübü", 'yazar' => "Chuck Palahniuk"), dizi ('başlık' => "Dünya Savaşı Z", 'yazar' => "Max Brooks",)); foreach ($ kitap olarak $ kitap) {echo "\ n"; echo "{$ kitap ['başlık']} \ n"; echo "{$ kitap ['yazar']} \ n"; yankı "\ n \ n"; }?> var13 ->
Burada yaptığımız ilk şeyin, belgenin başlığını şu şekilde oluşturmak olduğunu görüyoruz. başlık, bu bizim başlangıç etiketimizi yerleştirmemize izin verecek XML sözdizimi hatalarını yükseltmeden PHP, sonra kodun dışına kök etiketimizi yerleştiririz. şema, bu durumda kitaplık.
Daha sonra, kitap dediğimiz birkaç elementten oluşan küçük bir dizi oluşturuyoruz, burada manuel bir şey olmasına rağmen önemli olan, bunun sonucunda bunu yapabileceğimizi görebilmemizdir. Veri tabanı Örneğin. Son olarak, dizimizi gözden geçirir ve yazdırırız, her zaman etiketlere saygı gösteririz, böylece XML iyi şekillendirilmiştir.
Sonunda bunu test sunucumuzda çalıştırdığımızda tarayıcıda aşağıdakine benzer bir şey elde edeceğiz:
BÜYÜT
Aşağıdaki örnekte bir dosya alacağız XML bu bizim dizinimizde, işleri kolaylaştırmak için önceki örnekte oluşturulan belgeyi kaydedebiliriz ve onu arayacağız php_crear_xml.xml, Uzantıyı değiştirerek artık başlığı yazdırmak için PHP kullanamayacağımızı göz önünde bulundurarak, bunu görmenin kolay bir yolu XML tam basmak içindir CTRL + sen ve biz de aynısına sahip olacağız. Test dosyamızı aldıktan sonra, aşağıdaki kodu kullanarak bunu gerçekleştireceğiz. ayrıştırmak dosyadan.
yükle ("örnek1.xml"); işlem ($ ayrıştırıcı-> belgeElement); işlev işlemi ($ düğümü) {foreach ($ düğüm-> $ alt öğesi olarak childNodes) {if ($ alt-> düğümType == XML_TEXT_NODE) {echo "". $ çocuk-> nodeValue."
";} else if ($ alt-> nodeType == XML_ELEMENT_NODE) {process ($ alt);}}}?> var13 ->
Kodda şu tipte bir nesne oluşturduğumuzu görüyoruz. DOMDbelge, bu bize kitapçıyı getirecek GÜNEŞ yorumlayabilmek için XML, daha sonra yöntemle yük () dosyayı yüklüyoruz XML rotamızda sahip olduğumuz ve ardından işlevi çağırdığımız işlem() bu, yüklenen belgeyi gözden geçirmemize izin verecek olandır.
Son olarak fonksiyonumuzu tanımlıyoruz, burada her bir düğümden geçiyoruz ve sonra eğer bir element ise koşullu yapıyoruz. XML Fonksiyonu çağırırız, aksi takdirde metin ise yazdırırız, bununla içeriği elde edebiliriz. XML Sorun yok.
Bu yöntemin ve bu kitaplığın tek kusuru, sunucuda gereken bellek miktarıdır, yani büyük bir dosya olsaydı XML sunucumuzun onu işlemesi çok zor olurdu.
Bu kütüphaneyle ilgili ilginç olan şey, bizim ile bir nesnenin yaratılmasıdır. XML özelliklerine doğrudan erişebileceğimiz ve böylece onlarla çalışabileceğimiz. Etiketlere nasıl erişebileceğimizi aşağıdaki kodda görelim vasıf elimizdeki her kitaptan XML testler.
$ kitap olarak kitap) {echo $ kitap-> başlık. "
";}?> var13 ->
Kod biraz kısa görünse de, yaptığımız şey yüklenen dosyadan bir nesne oluşturmak ve bir her biri için düğümlerinin her biri ve böylece etiketinin içeriğine basit bir şekilde erişin. Bununla tarayıcıda aşağıdakileri elde ederiz: