Menghapus Node XML DOM
- Halaman Sebelumnya Ubah Node DOM
- Halaman Berikutnya Ganti Node DOM
Metode removeChild() menghapus node yang ditentukan.
Metode removeAttribute() menghapus atribut yang ditentukan.
Contoh
Contoh di bawah ini menggunakan berkas XML books.xml.
Fungsi loadXMLDoc(),berada di dalam JavaScript eksternal, digunakan untuk memuat berkas XML.
- Hapus elemen node
- Contoh ini menggunakan removeChild() untuk menghapus elemen <book> pertama.
- Menghapus elemen node saat ini
- Contoh ini menggunakan parentNode dan removeChild() untuk menghapus elemen <book> saat ini.
- Menghapus node teks
- Contoh ini menggunakan removeChild() untuk menghapus node teks elemen <title> pertama.
- Mengosongkan teks node teks
- Contoh ini menggunakan atribut nodeValue() untuk mengosongkan node teks elemen <title> pertama.
- Menghapus atribut berdasarkan nama
- Contoh ini menggunakan removeAttribute() untuk menghapus atribut "category" dari elemen <book> pertama.
- Menghapus atribut berdasarkan objek
- Contoh ini menggunakan removeAttributeNode() untuk menghapus semua atribut elemen <book>.
Hapus elemen node
Metode removeChild() menghapus node yang ditentukan.
Ketika sebuah node dihapus, semua node anaknya juga akan dihapus.
Kode potongan di bawah ini akan menghapus elemen <book> pertama dari xml yang diunggah:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Tetapkan variabel y untuk elemen node yang akan dihapus
- Menghapus node elemen melalui penggunaan metode removeChild() dari node induk
Menghapus diri sendiri - menghapus node yang saat ini
Metode removeChild() adalah metode satu-satunya yang dapat menghapus node yang ditentukan.
Ketika Anda sudah menempatkan node yang akan dihapus, Anda dapat menghapusnya melalui penggunaan atribut parentNode dan metode removeChild():
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Tetapkan variabel y untuk elemen node yang akan dihapus
- Menghapus elemen node ini melalui penggunaan atribut parentNode dan metode removeChild()
Menghapus node teks
Metode removeChild() dapat digunakan untuk menghapus node teks:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Tetapkan variabel x untuk node elemen pertama title
- Tetapkan variabel y untuk node teks yang akan dihapus
- Menghapus node melalui penggunaan metode removeChild() dari node induk
Tidak sering digunakan removeChild() untuk menghapus teks dari node. Dapat digantikan dengan atribut nodeValue. Lihat paragraf berikutnya.
Mengosongkan node teks
Atribut nodeValue dapat digunakan untuk mengubah atau mengosongkan nilai node teks:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Tetapkan variabel x untuk node teks elemen pertama title
- Gunakan atribut nodeValue untuk mengosongkan teks node teks
Lakukan perulangan dan ubah semua node teks elemen <title>: TIY
Menghapus node atribut berdasarkan nama
Metode removeAttribute(name) digunakan untuk menghapus node atribut berdasarkan nama.
Contoh: removeAttribute('category')
Kode potongan di bawah ini menghapus atribut "category" dari elemen pertama <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Menggunakan getElementsByTagName() untuk mendapatkan node book
- Hapus atribut "category" dari node elemen book pertama
Telusuri dan hapus semua atribut "category" dari semua elemen <book>: TIY.
Menghapus node atribut berdasarkan objek
Metode removeAttributeNode(node) menggunakan objek Node sebagai parameter untuk menghapus node atribut.
Contoh: removeAttributeNode(x)
Kode berikut menghapus semua atribut dari elemen <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); } }
Contoh penjelasan:
- Dengan menggunakan loadXMLDoc() Buat \books.xml"Memuat xmlDoc"
- Gunakan getElementsByTagName() untuk mendapatkan semua node book
- Periksa setiap elemen book apakah memiliki atribut
- Jika ada atribut di dalam elemen book, hapus atribut tersebut
- Halaman Sebelumnya Ubah Node DOM
- Halaman Berikutnya Ganti Node DOM