XML DOM - Özellikler ve Metodlar

Özellikler ve yöntemler, XML DOM'a programlama arayüzü tanımlar.

Örnek

Aşağıdaki örnek, XML dosyasını kullanır books.xml

Fonksiyon loadXMLDoc()Dışarıdaki JavaScript'te, XML dosyasını yüklemek için kullanılır.

Fonksiyon loadXMLString()Dışarıdaki JavaScript'te, XML dizgisini yüklemek için kullanılır.

XML dosyasını yükleyip çözümleyin
XML dizgiğini yükleyip çözümleyin

Programlama Arayüzü

DOM, XML'yi bir dizi düğüm arayüzü olarak simüle eder. Düğümü JavaScript veya diğer programlama dilleriyle erişebilirsiniz. Bu eğitim kitapçığında, JavaScript kullanıyoruz.

DOM'un programlama arayüzü, standart özellikler ve yöntemlerle tanımlanmıştır.

Sıklıkla "Bir şeyin ne olduğunu

YöntemGenellikle "Bir şeye ne yapılır" şeklinde kullanılır (örneğin, "book" düğümünü silmek).

XML DOM özellikleri

Birkaç tipik DOM özelliği:

  • x.nodeName - x'nin adı
  • x.nodeValue - x'nin değeri
  • x.parentNode - x'nin ebeveyn düğümü
  • x.childNodes - x'nin alt düğümü
  • x.attributes - x'nin özellik düğümü

Açıklama:Yukarıdaki listede, x bir düğüm nesnesidir.

XML DOM yöntemleri

  • x.getElementsByTagName(name) - Belirtilen etiket adına sahip tüm elementleri alır
  • x.appendChild(node) - x'ya alt düğüm ekler
  • x.removeChild(node) - x'dan alt düğümü siler

Açıklama:Yukarıdaki listede, x bir düğüm nesnesidir.

Örnek

books.xml dosyasından <title> elementinden metni alan JavaScript kodu:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

Bu cümlenin çalışması sonrasında, txt tutarlı değeri "Harry Potter" dir.

Açıklama:

  • xmlDoc - Parseleyici tarafından oluşturulan XML DOM
  • getElementsByTagName("title")[0] - İlk <title> elementi
  • childNodes[0] - <title> elementinin ilk alt düğümü (metin düğümü)
  • nodeValue - Düğümün değeri (metin kendisi)

Yukarıdaki örnekte getElementsByTagName yöntemi, childNodes ve nodeValue özellikleridir.

XML dosyasını解析 etme - Çapraz tarayıcı örneği

Aşağıdaki kod parçası loadXMLDoc fonksiyonunu kullanarak books.xml XML解析çerisinde yüklenir ve ilk book verisini gösterir:

xmlDoc=loadXMLDoc("books.xml");
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Çıktı:

Harry Potter
J K. Rowling
2005

TIY

Yukarıdaki örnekte, her metin düğümü için childNodes[0] kullanıyoruz, çünkü getElementsByTagName() yöntemi her zaman bir dizi döner.

XML dizgesini解析 etme - Çapraz tarayıcı örneği

Aşağıdaki kod, bir XML dizgesini yükler ve解析 eder:

Aşağıdaki kod parçası loadXMLString fonksiyonunu kullanarak books.xml XML解析cörü yükleyin ve ilk bookun verilerini gösterin:

text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";
xmlDoc=loadXMLString(text);
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

Çıktı:

Harry Potter
J K. Rowling
2005

TIY