XML Eğitimi

XML ANA SAYFA XML'e Giriş XML nasıl kullanılır XML Ağacı XML Sözdizimi XML Öğeleri XML Öznitelikleri XML Ad Alanları XML Görüntüleme XML HttpTalebi XML Ayrıştırıcı XML DOM'si XML XPath'i XML XSLT'si XML XQuery XML Bağlantısı XML Doğrulayıcı XML DTD'si XML Şeması XML Sunucusu XML Örnekleri XML Testi XML Sertifikası

XML AJAX'ı

AJAX Tanıtımı AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

XML DOM'si

DOM Tanıtımı DOM Düğümleri DOM Erişimi DOM Düğümü Bilgisi DOM Düğüm Listesi DOM Geçişi DOM Gezinme DOM Değerleri Al DOM Değişiklik Düğümleri DOM Düğümleri Kaldır DOM Düğümleri Değiştir DOM Oluşturma Düğümleri DOM Düğüm Ekle DOM Klon Düğümleri DOM Örnekleri

XPath Eğitimi

XPath Giriş XPath Düğümleri XPath Sözdizimi XPath Eksenleri XPath Operatörleri XPath Örnekleri

XSLT Eğitimi

XSLT'ye Giriş XSL Dilleri XSLT Dönüşümü XSLT <şablon> XSLT <değeri> XSLT <her biri için> XSLT <sıralama> XSLT <if> XSLT <seç> XSLT Uygula İstemcide XSLT Sunucuda XSLT XSLT Düzenleme XML'i XSLT Örnekleri

XQuery Eğitimi

XQuery Tanıtımı XQuery Örneği XQuery FLWOR'u XQuery HTML'si XQuery Terimleri XQuery Sözdizimi XQuery Ekle XQuery Seçimi XQuery İşlevleri

XML DTD'si

DTD Giriş DTD Yapı Taşları DTD Elemanları DTD Özellikleri DTD Elemanları vs Attr DTD Varlıkları DTD Örnekleri

XSD Şeması

XSD Tanıtımı XSD Nasıl Yapılır? XSD <şema> XSD Öğeleri XSD Özellikleri XSD Kısıtlamaları

XSD Kompleksi

XSD Öğeleri XSD Boş Yalnızca XSD Öğeleri Yalnızca XSD Metin XSD Karışık XSD Göstergeleri XSD <herhangi bir> XSD <anyÖzellik> XSD Değiştirme XSD Örneği

XSD Verileri

XSD Dizisi XSD Tarihi XSD Sayısal XSD Çeşitli XSD Referansı

Web Hizmetleri

XML Hizmetleri XML WSDL'si XML SABUN XML RDF'si XML RSS'si

Referanslar

DOM Düğüm Türleri DOM Düğümü DOM Düğüm Listesi DOM AdlıDüğüm Haritası DOM Belgesi DOM Öğesi DOM Özelliği DOM Metni DOM CDATA DOM Yorumu DOM XMLHttpRequest DOM Ayrıştırıcı XSLT Öğeleri XSLT/XPath İşlevleri

XML DOM - Düğümlerde Gezinme


Düğümler, düğüm ilişkileri kullanılarak gezilebilir.

×

Header


DOM Düğümlerinde Gezinme

Düğüm ağacındaki düğümlere, düğümler arasındaki ilişki aracılığıyla erişmeye genellikle "dolaşan düğümler" denir.

XML DOM'de düğüm ilişkileri, düğümlerin özellikleri olarak tanımlanır:

  • ebeveyn Düğümü
  • alt düğümler
  • ilk çocuk
  • son çocuk
  • sonrakiKardeş
  • öncekiKardeş

Aşağıdaki görüntü, düğüm ağacının bir bölümünü ve book.xml'deki düğümler arasındaki ilişkiyi gösterir :

düğüm ağacı


DOM - Üst Düğüm

Tüm düğümlerin tam olarak bir üst düğümü vardır. Aşağıdaki kod, <book> öğesinin üst düğümüne gider:

Örnek

function myFunction(xml) {
var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("book")[0];
    document.getElementById("demo").innerHTML = x.parentNode.nodeName;
}

Örnek açıkladı:

  1. " books.xml " dosyasını xmlDoc'a yükleyin
  2. İlk <book> öğesini alın
  3. "x" üst düğümünün düğüm adını çıktılayın


Boş Metin Düğümlerinden Kaçının

Firefox ve diğer bazı tarayıcılar, boş beyaz boşlukları veya yeni satırları metin düğümleri olarak değerlendirir, Internet Explorer yapmaz.

Bu, özellikleri kullanırken bir soruna neden olur: firstChild, lastChild, nextSibling, BeforeSibling.

Boş metin düğümlerine (eleman düğümleri arasındaki boşluklar ve yeni satır karakterleri) gitmekten kaçınmak için, düğüm türünü kontrol eden bir işlev kullanırız:

function get_nextSibling(n) {
    var y = n.nextSibling;
    while (y.nodeType! = 1) {
        y = y.nextSibling;
    }
    return y;
}

Yukarıdaki işlev , node .nextSibling özelliği yerine get_nextSibling( node ) kullanmanıza izin verir .

Kod açıkladı:

Öğe düğümleri tip 1'dir. Kardeş düğüm bir öğe düğümü değilse, bir öğe düğümü bulunana kadar sonraki düğümlere geçer. Bu şekilde sonuç hem Internet Explorer'da hem de Firefox'ta aynı olacaktır.


İlk Alt Öğeyi Alın

Aşağıdaki kod, ilk <book> öğesinin ilk öğe düğümünü görüntüler:

Örnek

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
    document.getElementById("demo").innerHTML = x.nodeName;
}

//check if the first node is an element node
function get_firstChild(n) {
    var y = n.firstChild;
    while (y.nodeType != 1) {
        y = y.nextSibling;
    }
    return y;
}
</script>

</body>
</html>

Çıktı:

title

Örnek açıkladı:

  1. " books.xml " dosyasını xmlDoc'a yükleyin
  2. Bir öğe düğümü olan ilk alt düğümü almak için ilk <book> öğe düğümündeki get_firstChild işlevini kullanın
  3. Bir öğe düğümü olan ilk alt düğümün düğüm adını çıktılayın

Daha fazla örnek


Bu örnek, bir düğümün son alt düğümünü almak için lastChild() yöntemini ve özel bir işlevi kullanır.


Bu örnek, bir düğümün sonraki kardeş düğümünü almak için nextSibling() yöntemini ve özel bir işlevi kullanır.


Bu örnek, bir düğümün önceki kardeş düğümünü almak için öncekiSibling() yöntemini ve özel bir işlevi kullanır.