XML DOM - Setel Node
Pada bab ini, kita akan mempelajari tentang bagaimana mengubah nilai node pada objek XML DOM. Nilai node dapat diubah sebagai berikut -
var value = node.nodeValue;
Jika simpul adalah Atribut maka variabel nilai akan menjadi nilai atribut; jika simpul adalah simpul Teks itu akan menjadi konten teks; jika node adalah sebuah Elemen maka akan menjadi null .
Bagian berikut akan mendemonstrasikan pengaturan nilai node untuk setiap jenis node (atribut, node teks dan elemen).
The node.xml digunakan dalam semua contoh berikut adalah sebagai berikut -
<Company>
<Employee category = "Technical">
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Non-Technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Management">
<FirstName>Tanisha</FirstName>
<LastName>Sharma</LastName>
<ContactNo>1234562350</ContactNo>
<Email>[email protected]</Email>
</Employee>
</Company>
Ubah Nilai Node Teks
Ketika kita, katakanlah nilai perubahan elemen node yang kita maksud untuk mengedit konten teks dari suatu elemen (yang juga disebut node teks ). Contoh berikut menunjukkan cara mengubah node teks dari suatu elemen.
Contoh
Contoh berikut (set_text_node_example.htm) menguraikan dokumen XML ( node.xml ) menjadi objek XML DOM dan mengubah nilai node teks elemen. Dalam hal ini, Kirim email ke setiap Karyawan ke [email protected] dan cetak nilainya.
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(filename) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else // code for IE5 and IE6 {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc = loadXMLDoc("/dom/node.xml");
x = xmlDoc.getElementsByTagName("Email");
for(i = 0;i<x.length;i++) {
x[i].childNodes[0].nodeValue = "[email protected]";
document.write(i+');
document.write(x[i].childNodes[0].nodeValue);
document.write('<br>');
}
</script>
</body>
</html>
Eksekusi
Simpan file ini sebagai set_text_node_example.htm di jalur server (file dan node.xml ini harus berada di jalur yang sama di server Anda). Anda akan menerima output berikut -
0) [email protected]
1) [email protected]
2) [email protected]
Ubah Nilai Atribut Node
Contoh berikut menunjukkan cara mengubah node atribut dari suatu elemen.
Contoh
Contoh berikut (set_attribute_example.htm) mem-parsing dokumen XML ( node.xml ) menjadi objek XML DOM dan mengubah nilai node atribut elemen. Dalam hal ini, Kategori masing-masing Karyawan ke admin-0, admin-1, admin-2 masing - masing dan mencetak nilai.
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(filename) {
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else // code for IE5 and IE6 {
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",filename,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc = loadXMLDoc("/dom/node.xml");
x = xmlDoc.getElementsByTagName("Employee");
for(i = 0 ;i<x.length;i++){
newcategory = x[i].getAttributeNode('category');
newcategory.nodeValue = "admin-"+i;
document.write(i+');
document.write(x[i].getAttributeNode('category').nodeValue);
document.write('<br>');
}
</script>
</body>
</html>
Eksekusi
Simpan file ini sebagai set_node_attribute_example.htm di jalur server (file dan node.xml ini harus berada di jalur yang sama di server Anda). Hasilnya seperti di bawah ini -
0) admin-0
1) admin-1
2) admin-2