XML DOM - Properti dan Methode

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.

Muat dan analisis fail XML
Muat dan analisis 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

TIY

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

TIY