XML DOM - Düğüm Ekle
Bu bölümde, düğümleri mevcut elemanla tartışacağız. Bir araç sağlar -
mevcut alt düğümlerden önce veya sonra yeni alt düğümler ekleyin
metin düğümüne veri ekle
öznitelik düğümü ekle
Düğümleri DOM içindeki bir öğeye eklemek / eklemek için aşağıdaki yöntemler kullanılabilir -
- appendChild()
- insertBefore()
- insertData()
appendChild ()
AppendChild () yöntemi, mevcut alt düğümden sonra yeni alt düğümü ekler.
Sözdizimi
AppendChild () yönteminin sözdizimi aşağıdaki gibidir -
Node appendChild(Node newChild) throws DOMException
Nerede,
newChild - Eklenecek düğümdür
Bu yöntem eklenen Düğümü döndürür .
Misal
Aşağıdaki örnek (appendchildnode_example.htm) bir XML belgesini ( node.xml ) bir XML DOM nesnesine ayrıştırır ve yeni alt PhoneNo öğesini <FirstName> öğesine ekler .
<!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");
create_e = xmlDoc.createElement("PhoneNo");
x = xmlDoc.getElementsByTagName("FirstName")[0];
x.appendChild(create_e);
document.write(x.getElementsByTagName("PhoneNo")[0].nodeName);
</script>
</body>
</html>
Yukarıdaki örnekte -
createElement () yöntemini kullanarak, yeni bir PhoneNo öğesi oluşturulur.
Yeni PhoneNo öğesi , appendChild () yöntemi kullanılarak FirstName öğesine eklenir .
Yürütme
Bu dosyayı sunucu yolunda appendchildnode_example.htm olarak kaydedin (bu dosya ve node.xml sunucunuzdaki aynı yolda olmalıdır). Çıktıda, öznitelik değerini PhoneNo olarak alıyoruz .
insertBefore ()
İnsertBefore () yöntemi , yeni alt düğümleri belirtilen alt düğümlerden önce ekler.
Sözdizimi
İnsertBefore () yönteminin sözdizimi aşağıdaki gibidir -
Node insertBefore(Node newChild, Node refChild) throws DOMException
Nerede,
newChild - Eklenecek düğüm
refChild - Yeni düğümün eklenmesi gereken referans düğüm, yani düğümdür.
Bu yöntem , eklenen Düğümü döndürür .
Misal
Aşağıdaki örnek (insertnodebefore_example.htm) bir XML belgesini ( node.xml ) bir XML DOM nesnesine ayrıştırır ve belirtilen <Email> öğesinden önce yeni alt E-posta ekler .
<!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");
create_e = xmlDoc.createElement("Email");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("Email");
document.write("No of Email elements before inserting was: " + y.length);
document.write("<br>");
x.insertBefore(create_e,y[3]);
y=xmlDoc.getElementsByTagName("Email");
document.write("No of Email elements after inserting is: " + y.length);
</script>
</body>
</html>
Yukarıdaki örnekte -
createElement () yöntemini kullanarak yeni bir E-posta öğesi oluşturulur.
Yeni E-posta öğesi , insertBefore () yöntemi kullanılarak E-posta öğesinin önüne eklenir .
y.length , yeni öğeden önce ve sonra eklenen öğelerin toplam sayısını verir.
Yürütme
Bu dosyayı sunucu yolunda insertnodebefore_example.htm olarak kaydedin (bu dosya ve node.xml, sunucunuzda aynı yolda olmalıdır). Aşağıdaki çıktıyı alacağız -
No of Email elements before inserting was: 3
No of Email elements after inserting is: 4
insertData ()
İnsertData () yöntemi, belirtilen 16 bitlik birim ofsetinde bir dize ekler.
Sözdizimi
İnsertData () aşağıdaki sözdizimine sahiptir -
void insertData(int offset, java.lang.String arg) throws DOMException
Nerede,
ofset - eklenecek karakter uzaklığıdır.
arg - verileri eklemek için anahtar kelimedir. İki parametre ofset ve dizeyi virgülle ayrılmış parantez içine alır.
Misal
Aşağıdaki örnek, (addtext_example.htm) bir XML belgesi ( "ayrıştırmak node.xml bir XML DOM nesne ve uçlar yeni veri içine") MiddleName elemanı <ad> için belirtilen pozisyonda.
<!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("FirstName")[0].childNodes[0];
document.write(x.nodeValue);
x.insertData(6,"MiddleName");
document.write("<br>");
document.write(x.nodeValue);
</script>
</body>
</html>
x.insertData(6,"MiddleName");- Burada x , belirtilen alt adın adını tutar, yani <İlkAdı>. Daha sonra 6. konumdan başlayarak bu metin düğümüne "MiddleName" verisini ekliyoruz .
Yürütme
Bu dosyayı sunucu yolunda addtext_example.htm olarak kaydedin (bu dosya ve node.xml sunucunuzdaki aynı yolda olmalıdır). Çıktıda aşağıdakileri alacağız -
Tanmay
TanmayMiddleName