Properti dan Metode XML DOM

Atribut dan metode mendefinisikan antarmuka pemrograman XML DOM.

Contoh

Contoh di bawah ini menggunakan berkas XML books.xml.

Fungsi loadXMLDoc()yang terletak di JavaScript eksternal, digunakan untuk memuat berkas XML.

Fungsi loadXMLString()yang terletak di JavaScript eksternal, digunakan untuk memuat string XML.

Muat dan analisis berkas XML
Muat dan analisis string XML

Antarmuka Pemrograman

DOM mensimulasikan XML sebagai serangkaian antarmuka node. Node dapat diakses melalui JavaScript atau bahasa pemrograman lain. Dalam tutorial ini, kita menggunakan JavaScript.

Antarmuka pemrograman DOM ditentukan melalui set standar atribut dan metode.

AtributSelalu digunakan dengan cara 'apa yang adalah suatu hal' (contoh: nama node adalah "book").

MethodUmumnya digunakan dengan cara "melakukan apa kepada suatu hal" (contohnya menghapus node "book").

Properti XML DOM

Beberapa properti DOM yang umum:

  • x.nodeName - Nama x
  • x.nodeValue - Nilai x
  • x.parentNode - Node orang tua x
  • x.childNodes - Anak node x
  • x.attributes - Anak atribut x

Keterangan:Dalam daftar di atas, x adalah objek node.

Method XML DOM

  • x.getElementsByTagName(name) - Mengambil semua elemen dengan nama tag yang ditentukan
  • x.appendChild(node) - Menyisipkan anak node ke x
  • x.removeChild(node) - Menghapus anak node dari x

Keterangan:Dalam daftar di atas, x adalah objek node.

Contoh

Kode JavaScript untuk mengambil teks dari elemen <title> di books.xml:

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

Setelah pernyataan ini dieksekusi, nilai yang disimpan di txt adalah "Harry Potter".

Penjelasan:

  • xmlDoc - DOM XML yang dibuat pengeompal
  • getElementsByTagName("title")[0] - Elemen <title> pertama
  • childNodes[0] - Anak pertama elemen <title>
  • nodeValue - Nilai node (teks sendiri)

Dalam contoh di atas, getElementsByTagName adalah method, sementara childNodes dan nodeValue adalah atribut.

Memecahkan berkas XML - Contoh multibrowser

Kode potongan di bawah ini menggunakan fungsi loadXMLDoc untuk books.xml Memuat parser XML dan menampilkan data pertama book:

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);

Output:

Harry Potter
J K. Rowling
2005

TIY

Dalam contoh di atas, kami menggunakan childNodes[0] untuk setiap node teks, meskipun setiap elemen hanya memiliki node teks satu. Ini disebabkan karena method getElementsByTagName() selalu kembalikan array.

Memecahkan string XML - Contoh multibrowser

Kode di bawah ini mengambil dan memecahkan string XML:

Kode potongan di bawah ini menggunakan fungsi loadXMLString untuk books.xml Muat pemecah XML, dan tampilkan data pertama book:

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);

Output:

Harry Potter
J K. Rowling
2005

TIY