AltınSoft Makale Arşivi

Web Hosting Hizmetleri

Anasayfa | Toplu SMS | Video | Web Hosting | Makale Ara | Anketler | Sitene Ekle | RSS Kaynağı

Arama


Gelişmiş Arama

XML Verisinin İşlenmesi

XML Verisinin İşlenmesi

Kategori  Kategori : Web Tasarım
Yorumlar  Yorum Sayısı : 0
Okunma  Okunma : 160
Tarih  Tarih : 09 Mart 2008 03:39

XML dokumanları metin halindedir ve içerisindeki bilgiler kendini tarif eden yapıdadır. Yani esas veri dışında veriyi tarif eden "tag" ler içerir.Uygulamaların sorunu ise veriyi dokumanın içinden filtrelemek ve mekanik olarak işlenmesini sağlamaktır.

Metin halindeki XML dokumanlarının uygulamalardan doğrudan analiz edilmesini engellemek için XML işlemciler (parser) kullanılır.

XML Verisinin işlenmesinde, yeni bazı yöntemlerin de kullanılmaya başlamasına rağmen genel olarak iki yaklaşım sözkonusudur. Bunlar: SAX ve DOM dur.

DOM (Document Object Model) işlemciler, metin halindeki XML dokumanını hiyerrarşik bir ağaç yapısına döüştürür. Uygulamalar bu ağaç yapısı üzerinde dolaşırlar. Uygulama yazan kişinin bu ağaç yapısını
ve DOM arabirimlerini bilmesi gerekir.

SAX (Simple API for XML) işlemciler ise event-driven bir model kullanırlar. Uygulama, XML verisinin okunması sırasında kontrolu alır ve özel event lere tepki verir.

Çok sayıda XML işlemcisi ücretsiz olarak kullanılabilir. Bunların çoğu hem DOM hem SAX modelini destekler. Bazıları şunlardır:

  • Project X (Sun Microsystems)
  • Ælfred (Microstar Software)
  • XML4J (IBM) Project X
  • Lark (Tim Bray)
  • MSXML (Microsoft)
  • XJ (Data Channel)
  • Xerces (Apache)
  • ...

Document Object Model, XML ağaç yapısına ulaşımı kolaylaştırmak için bir dizi arayüzler (inerface) içerir.Bu arayüzler de node tipine göre değişen metod ve attribute lar içerir. DOM'un temel arayüzü node dur. Herhangibir node ise element, attribute veya text olabilir. Node arayüzü bütün node tipleri için ortak olan metod ve attribute lar içerir. Diğer DOM arayüzleri ise Node'dan türetilmişlerdir.

Şimdi, örnek bir xml dokumanı üzerinde istenen bir node a nasıl ulaşıldığına bakalım. Burada ulaşılmak istenen bilgi, pembe renkle gösterilen "Prescod" değeri.

XML dokumanı ise aşağıdaki gibi:

<?xml version="1.0"?>
<kitaplar>
   <kitap>
    <baslik>The XML Handbook</baslik>
    <yazar>Goldfarb</yazar>
    <yazar>Prescod</yazar>
    <kitabevi>Prentice Hall</kitabevi>
    <sayfa>688</sayfa>
    <isbn>1-3081-1521-0</isbn>
    <fiyat currency="DM">44.95</fiyat>
   </kitap>
   <kitap>
    <baslik>XML Design</baslik>
   <yazar>Spencer</yazar>
    <kitabevi>Wrox Press</kitabevi>
   <sayfa>426</sayfa>
   <isbn>1-861002-28-9</isbn>
   <fiyat currency="USD">39.99</fiyat>
   </kitap>
</kitaplar>
Aşağıdaki HTML sayfası ise bu veriyi işleyen Java Script kodu içeriyor ve MS Internet Explorer 5.x tarayıcı ile çalıştırılabilir. Yani XML işlenmesi (parsing) istemci (client) tarafında gerçekleşiyor.
Bu kod parçası XML processor olarak "Microsoft.XMLDOM" kullanıyor.

<HTML>
<HEAD><TITLE>DOM Örneği</TITLE></HEAD>
<BODY>
<H1>DOM Example</H1>
<SCRIPT LANGUAGE="JavaScript">
  var doc, kok, kitap1, yazarlar, yazar2;
  doc = new ActiveXObject("Microsoft.XMLDOM");
  doc.async = false;
  doc.load("kitaplar.xml");
  if (doc.parseError != 0)
    alert(doc.parseError.reason);
  else {
   kok = doc.documentElement;
   document.write("Kok node un adı: " + kok.nodeName + "<BR>");
   document.write("Kok node un tipi: " + kok.nodeType + "<BR>");
   kitap1 = kok.childNodes.item(0);
   yazarlar = kitap1.getElementsByTagName("yazar");
   document.write("Yazarların adedi: " + yazarlar.length + "<BR>");
   yazar2 = yazarlar.item(1);
   document.write("İkinci yazarın adı : " + yazar2.childNodes.item(0).data);}
</SCRIPT>
</BODY></HTML>

 

Yazdırılabilir Sayfa Yazdırılabilir Sayfa | Word'e Aktar Word'e Aktar | Tavsiye Et Tavsiye Et | Yorum Yaz Yorum Yaz

Web Tasarım

En Çok Okunan Makaleler

Seçtiklerimiz

Anket

AltınSoft Makale Arşivini beğendinizmi ?




Tüm Anketler

© 2004-2009 Tüm Hakları Saklıdır
RSS Kaynağı

AltınSoft Bilişim Teknolojileri

Altyapı: MyDesign Haber Sistemi