XML DOM - Düğümü Ayarla
Bu bölümde, bir XML DOM nesnesindeki düğümlerin değerlerinin nasıl değiştirileceğini inceleyeceğiz. Düğüm değeri aşağıdaki şekilde değiştirilebilir -
var value = node.nodeValue;
Eğer düğüm bir bir Özellik sonra değeri değişken özelliğinin değeri olur; eğer düğüm bir olduğunu Metin düğümü o metin içeriği olacaktır; eğer düğüm bir olduğunu Eleman öyle olacak boş .
Aşağıdaki bölümler, her düğüm türü (öznitelik, metin düğümü ve öğe) için düğüm değeri ayarını gösterecektir.
Node.xml aşağıdaki örneklerde kullanılan aşağıdaki gibidir -
<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>
Metin Düğümünün Değerini Değiştirin
Düğüm elemanının değişim değerini söylediğimizde, bir elemanın metin içeriğini düzenlemeyi kastediyoruz (bu aynı zamanda metin düğümü olarak da adlandırılır ). Aşağıdaki örnek, bir elemanın metin düğümünün nasıl değiştirileceğini gösterir.
Misal
Aşağıdaki örnek (set_text_node_example.htm) bir XML belgesini ( node.xml ) bir XML DOM nesnesine ayrıştırır ve bir öğenin metin düğümünün değerini değiştirir. Bu durumda, her Çalışanın [email protected] adresine e-posta göndererek değerleri yazdırın.
<!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>
Yürütme
Bu dosyayı sunucu yolunda set_text_node_example.htm olarak kaydedin (bu dosya ve node.xml , sunucunuzda aynı yolda olmalıdır). Aşağıdaki çıktıyı alacaksınız -
0) [email protected]
1) [email protected]
2) [email protected]
Öznitelik Düğümünün Değeri Değiştir
Aşağıdaki örnek, bir elemanın öznitelik düğümünün nasıl değiştirileceğini gösterir.
Misal
Aşağıdaki örnek (set_attribute_example.htm) bir XML belgesini ( node.xml ) bir XML DOM nesnesine ayrıştırır ve bir öğenin öznitelik düğümünün değerini değiştirir. Bu durumda, Kategori her Çalışan için yönetici-0, yönetici-1, yönetici-2 sırasıyla ve değerleri yazdırmak.
<!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>
Yürütme
Bu dosyayı sunucu yolunda set_node_attribute_example.htm olarak kaydedin (bu dosya ve node.xml sunucunuzdaki aynı yolda olmalıdır). Sonuç aşağıdaki gibi olacaktır -
0) admin-0
1) admin-1
2) admin-2