XML DOM - Properti dan Methode
- Halaman sebelumnya Muat DOM
- Halaman berikutnya Akses node DOM
Atribut dan metod menakrifkan interface pemrograman XML DOM.
Contoh
Contoh di bawah ini menggunakan fail XML books.xml.
Fungsi loadXMLDoc()terletak di dalam JavaScript luaran, untuk muat fail XML.
Fungsi loadXMLString()terletak di dalam JavaScript luaran, untuk muat string XML.
Interface pemrograman
DOM meniru XML sebagai sekelompok antarmuka node. Boleh diakses melalui JavaScript atau bahasa pemrograman lain. Dalam tutorial ini, kami menggunakan JavaScript.
Interface pemrograman DOM ditakrifkan melalui set standar atribut dan metod.
AtributKami sering guna cara 'apa yang adalah sesuatu' (contohnya, nama node adalah "book").
Kaedahbiasa digunakan dalam cara 'apa yang dilakukan kepada suatu hal' (contohnya menghapuskan node 'book').
Properti XML DOM
Beberapa properti DOM yang biasa:
- x.nodeName - Nama x
- x.nodeValue - Nilai x
- x.parentNode - Nod bapa x
- x.childNodes - Anak node x
- x.attributes - Nod properti x
Komen:Dalam senarai di atas, x adalah objek node.
Kaedah XML DOM
- x.getElementsByTagName(name) - Dapatkan semua elemen dengan nama tag yang ditentukan
- x.appendChild(node) - Sisipkan anak node ke x
- x.removeChild(node) - Buang anak node daripada x
Komen:Dalam senarai di atas, x adalah objek node.
Contoh
Kod JavaScript untuk mengambil teks daripada elemen <title> dalam books.xml:
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
Selepas perintah ini dijalankan, nilai txt disimpan adalah "Harry Potter".
Pengertian:
- xmlDoc - XML DOM yang dihasilkan oleh parser
- getElementsByTagName("title")[0] - Elemen <title> pertama
- childNodes[0] - Anak pertama elemen <title>
- nodeValue - Nilaian buah (teks sendiri)
Dalam contoh di atas, getElementsByTagName adalah method, manakala childNodes dan nodeValue adalah properti.
Mengurai fail XML - Contoh pelbagai pereka
Blok kod di bawah ini menggunakan fungsi loadXMLDoc untuk books.xml Memuatkan parser XML dan menunjukkan 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
Dalam contoh di atas, kami menggunakan childNodes[0] untuk setiap node teks, walaupun setiap elemen hanya mempunyai satu node teks. Ini disebabkan bahawa method getElementsByTagName() selalu mengembalikan array.
Mengurai string XML - Contoh pelbagai pereka
Blok kod di bawah ini memuat dan mengurai string XML:
Blok kod di bawah ini menggunakan fungsi loadXMLString untuk books.xml Muat pemecah XML, dan tunjukkan 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
- Halaman sebelumnya Muat DOM
- Halaman berikutnya Akses node DOM