XML DOM Tambahkan Node
Cobalah Sendiri - Contoh
Contoh di bawah ini menggunakan file XML books.xml .
Contoh ini menggunakan appendChild() untuk menambahkan simpul anak ke simpul yang ada.
Contoh ini menggunakan insertBefore() untuk menyisipkan simpul sebelum simpul anak yang ditentukan.
Contoh ini menggunakan metode setAttribute() untuk menambahkan atribut baru.
Contoh ini menggunakan insertData() untuk memasukkan data ke dalam node teks yang ada.
Tambahkan Node - appendChild()
Metode appendChild() menambahkan simpul anak ke simpul yang ada.
Node baru ditambahkan (ditambahkan) setelah node anak yang ada.
Catatan: Gunakan insertBefore() jika posisi node penting.
Fragmen kode ini membuat sebuah elemen (<edition>), dan menambahkannya setelah anak terakhir dari elemen <book> pertama:
Contoh
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Contoh menjelaskan:
- Misalkan " books.xml " dimuat ke xmlDoc
- Buat simpul baru <edisi>
- Tambahkan simpul ke elemen <book> pertama
Fragmen kode ini melakukan hal yang sama seperti di atas, tetapi elemen baru ditambahkan dengan nilai:
Contoh
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Contoh menjelaskan:
- Misalkan " books.xml " dimuat ke xmlDoc
- Buat simpul baru <edisi>
- Buat simpul teks baru "pertama"
- Tambahkan simpul teks ke simpul <edisi>
- Tambahkan simpul <addition> ke elemen <book>
Masukkan Node - insertBefore()
Metode insertBefore() menyisipkan node sebelum node anak yang ditentukan.
Metode ini berguna ketika posisi node yang ditambahkan penting:
Contoh
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Contoh menjelaskan:
- Misalkan " books.xml " dimuat ke xmlDoc
- Buat simpul elemen baru <book>
- Masukkan simpul baru di depan simpul elemen <book> terakhir
Jika parameter kedua insertBefore() adalah null, node baru akan ditambahkan setelah node anak terakhir yang ada.
x.insertBefore(newNode,null) dan x.appendChild(newNode) keduanya akan menambahkan node anak baru ke x.
Tambahkan Atribut Baru
Metode setAttribute() menetapkan nilai atribut.
Contoh
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Contoh menjelaskan:
- Misalkan " books.xml " telah dimuat ke xmlDoc
- Setel nilai atribut "edisi" ke "pertama" untuk elemen <book> pertama
Tidak ada metode yang disebut add Attribute()
SetAttribute() akan membuat atribut baru jika atribut tidak ada.
Catatan: Jika atribut sudah ada, metode setAttribute() akan menimpa nilai yang ada.
Tambahkan Teks ke Node Teks - insertData()
Metode insertData() menyisipkan data ke dalam simpul teks yang ada.
Metode insertData() memiliki dua parameter:
- offset - Di mana untuk mulai memasukkan karakter (dimulai dari nol)
- string - String yang akan disisipkan
Fragmen kode berikut akan menambahkan "Easy" ke node teks elemen <title> pertama dari XML yang dimuat:
Contoh
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");