23 Ocak 2012 Pazartesi

Javascript ile xml okuma

Basit bir şekilde xml dökümanından javascript yardımı ile verileri nasıl alacağımızı göstereceğim. Öncelikle XMLFile.xml adında örnek bir xml dökümanı oluşturalım.


<?xml version="1.0" encoding="utf-8" ?>
<books>

    <book>
        <name>Issız Ev</name>
        <writer>Orhan Pamuk</writer>
    </book>

    <book>
        <name>Ama Hangi Atatürk</name>
        <writer>Taha Akyol</writer>
    </book>
   
</books>

Daha sonra açıklamalarını içerisine yazdığım gibi örnek bir htm dosyası oluşturalım. İki dosyayı aynı kılasöre koyup htm dosyasını tarayıcımızda açtığımızda, xml dosyamızın içerisindeki verilerin mesaj penceresi şeklinde teker teker ekrana geldiğini göreceğiz.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>content</title>
    <script type="text/javascript">

        function GetXml() {

            if (window.XMLHttpRequest) {
                //yeni tarayıcılarda xml dosyasını bu şekilde import edebiliriz
                var httpObj = new XMLHttpRequest();
            } else {
                //internet explorer'ın bazı eski sürümlerine destek verebilmek için bu şekilde
                var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
            }
            //xml dosyamızın adı.
            httpObj.open("GET", "XMLFile.xml", false);
            httpObj.send();

            var xmlDocument = httpObj.responseXML;
            //xml dosyamızın içinde hani verileri okumak istiyorsak onun ismini veriyoruz "book"
            var xmlEl = xmlDocument.getElementsByTagName("book");

            //kaç tane "book" nesnesi varsa
            for (i = 0; i < xmlEl.length; i++) {

                //sırası gelen "book" nesnesinin alt verilerinde gezinmek için
                for (j = 0; j < xmlEl[i].childNodes.length; j++) {

                    if (xmlEl[i].childNodes[j].nodeType != 1) {
                        continue;
                    }
                    //ekranda popup olarak yazdır
                    alert(xmlEl[i].childNodes[j].firstChild.nodeValue);
                }

            }
        }
   

    </script>
</head>
<body onload="GetXml()">
</body>
</html>

1 yorum:

  1. Tagged "Titan Titanium Wallet" | Casino | Tech, Slots, Card
    Tagged "Titan Titanium titanium bolt Wallet". The Titan ford fusion titanium for sale Titanium apple watch aluminum vs titanium Wallet is a pocket holder that you can carry titanium nail around a poker table or other game. The Titan trekz titanium headphones

    YanıtlaSil