noisiv 1
noisiv
Manwe Work 1
Manwe Work
Bodyguardd 1
Bodyguardd
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Reklam vermek için turkmmo@gmail.com

PHP - XML Giriş

php-ile-xml-dosyasi-olusturma.jpg


PHP'nin yerleşik fonksiyonları ve kütüphaneleri yardımıyla XML verilerinin işlenmesini sağlayabiliriz. XML, yani eXtensible Markup Language, özellikle Web'de yapılandırılmış belge alışverişi için kullanılan bir veri formatıdır.

XML, verilerin serileştirilmesi, depolanması, başka bir yere iletilmesi ve hedef konumda yeniden oluşturulması için kullanılan popüler bir dosya biçimidir.

Bu bölümde PHP ile XML işlemenin temellerini öğreneceğiz.

XML'in özellikleri​

XML'in özelliklerinden biri hem insan hem de makine tarafından okunabilir olmasıdır. XML'in özellikleri World Wide Web Konsorsiyumu tarafından tanımlanır ve standartlaştırılır. PHP ayrıştırıcısı XML verileri üzerinde okuma/yazma işlemleri gerçekleştirebilir.

XML Etiketleri​

HTML gibi XML belgesi de etiketlerin yardımıyla oluşturulur. Ancak, HTML'de olduğu gibi önceden tanımlanmış etiketleri kullanmanız gereken bir HTML belgesinin aksine, kendi etiketlerinizi tanımlayabilirsiniz.

HTML etiketleri esas olarak metin, resim, multimedya kaynakları vb. üzerinde biçimlendirme niteliklerini uygular. XML etiketleri ise veri öğelerine kullanıcı tarafından belirtilen nitelikleri tanımlar.

XML Belgesi​

Bir XML belgesi, bir belge içindeki verilerin öğelerini ve niteliklerini tanımlayan hiyerarşik bir etiket yapısına sahiptir. Her XML belgesi, diğer öğeleri çevreleyen bir kök öğeden oluşur. Öğeler, öğe hakkında ek bilgi veya özellikler sağlayan niteliklere sahip olabilir. Öğelerdeki veriler, açma ve kapatma etiketleriyle çevrelenir.

Örnek​

Tipik bir XML belgesinin örneği aşağıda verilmiştir.

<?xml version = '1.0' encoding = 'UTF-8'?>
<note>
<Course>Android</Course>
<Subject>Android</Subject>
<Company>TutorialsPoint</Company>
<Price>$10</Price>
</note>

XML Ayrıştırıcılarının Türleri​

PHP'de iki tür XML ayrıştırıcısı mevcuttur:

  • Ağaç tabanlı ayrıştırıcılar
  • Olay tabanlı ayrıştırıcılar

Ağaç tabanlı ayrıştırıcılar​

Bu tür bir ayrıştırıcıyla PHP, tüm XML belgesini belleğe yükler ve XML belgesini bir Ağaç yapısına dönüştürür. Tüm belgeyi analiz eder ve Ağaç öğelerine erişim sağlar.

Daha küçük belgeler için ağaç tabanlı ayrıştırıcı iyi çalışır , ancak büyük XML belgeleri için büyük performans sorunlarına neden olur. SimpleXML ayrıştırıcısı ve DOM XML ayrıştırıcısı ağaç tabanlı ayrıştırıcılara örnektir

Basit XML Ayrıştırıcısı​

Basit XML ayrıştırıcısı ağaç tabanlı XML ayrıştırıcısı olarak da adlandırılır ve basit XML dosyasını ayrıştırır. Basit XML ayrıştırması, belirli bir yoldan xml'e erişmek için simplexml_load_file() metodunu çağırır.

DOM Ayrıştırıcısı​

DOM Parser, karmaşık bir düğüm ayrıştırıcısı olarak da adlandırılır, oldukça karmaşık XML dosyalarını ayrıştırmak için kullanılır. XML dosyasını değiştirmek için arayüz olarak kullanılır. DOM ayrıştırıcısı UTF-8 karakter kodlamasıyla kodlanmıştır.

Olay Tabanlı Ayrıştırıcılar​

Olay tabanlı bir ayrıştırıcı, tüm XML belgesini belleğe yüklemez. Bunun yerine, bir seferde bir düğüm okur. Ayrıştırıcı, gerçek zamanlı olarak etkileşim kurmanıza olanak tanır. Bir sonraki düğüme geçtiğinizde, eskisi bellekten kaldırılır.

Bellek aşırı yüklenmesi söz konusu olmadığından, bu tür ayrıştırıcılar büyük XML belgeleri için uygundur ve belge herhangi bir ağaç tabanlı ayrıştırıcıdan daha hızlı ayrıştırılır. XMLReader ve XML Expat Parser, olay tabanlı ayrıştırıcılara örnektir.

XML Ayrıştırıcısı​

XML ayrıştırması SAX ayrıştırmasına dayanır. Yukarıdaki tüm ayrıştırıcılardan daha hızlıdır. XML dosyasını oluşturacak ve XML'i ayrıştıracaktır. XML ayrıştırıcısı ISO-8859-1, US-ASCII ve UTF-8 karakter kodlamasıyla kodlanmıştır.

XML Okuyucu​

XML Reader parse, Pull XML parse olarak da adlandırılır. XML dosyasını daha hızlı bir şekilde okumak için kullanılır. XML Doğrulaması ile yüksek karmaşıklıkta XML belgeleriyle çalışır.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst