XML DOM Düğüm Silme

removeChild() yöntemi, belirtilen düğümü siler.

removeAttribute() yöntemi, belirtilen özelliği siler.

örnek

Aşağıdaki örnek, XML dosyasını kullanır: books.xml

fonksiyon loadXMLDoc()dışarıdaki JavaScript'te yüklemek için kullanılır.

Element düğümünü silmek
Bu örnek, ilk <book> öğesini silmek için removeChild() kullanır.
Mevcut element düğümünü silmek
Bu örnek, mevcut <book> öğesini silmek için parentNode ve removeChild() kullanır.
parentNode özelliği ve removeChild() yöntemini kullanarak bu element düğümünü silmek
Bu örnek, ilk <title> öğesinin metin düğümünü silmek için removeChild() kullanır.
Metin düğümünün metnini temizlemek
Bu örnek, ilk <title> öğesinin metin düğümünü temizlemek için nodeValue() özelliğini kullanır.
Adına göre özellik silmek
Bu örnek, ilk <book> öğesinde "category" özelliğini silmek için removeAttribute() kullanır.
Nesneye göre özellik silmek
Bu örnek, <book> öğesindeki tüm özellikleri silmek için removeAttributeNode() kullanır.

Element düğümünü silmek

removeChild() yöntemi, belirtilen düğümü siler.

Bir düğüm silindiğinde, tüm alt düğümleri de silinir.

Aşağıdaki kod parçası, yüklenen xml'den ilk <book> öğesini silecektir:

xmlDoc=loadXMLDoc("books.xml");
y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y); 

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • x.parentNode.removeChild(x);
  • xmlDoc.documentElement.removeChild(y);

TIY

Ebeveyn düğümünden element düğümünü silmek için removeChild() yöntemini kullanın

Kendi kendini silme - mevcut düğümü silmek

removeChild() yöntemi, belirli bir düğümü silmek için tek yöntemdir.

xmlDoc=loadXMLDoc("books.xml");
Silinmesi gereken düğümü belirlediğinizde, parentNode özelliği ve removeChild() yöntemini kullanarak bu düğümü silebilirsiniz:
x=xmlDoc.getElementsByTagName("book")[0]; 

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • x.parentNode.removeChild(x);
  • Silinecek element düğümünü değişken y'ye ayarlayın

TIY

parentNode özelliği ve removeChild() yöntemini kullanarak bu element düğümünü silmek

Metin düğümünü silmek

xmlDoc=loadXMLDoc("books.xml");
removeChild() yöntemi, metin düğümünü silmek için kullanılabilir:
x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0]; 

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • x.removeChild(y);
  • Değişken x'yi ilk title elementi düğümüne ayarlayın
  • Silinecek metin düğümünü değişken y'ye ayarlayın

TIY

removeChild() yöntemini kullanarak bir düğümü ebeveyn düğümünden silmek

Daha az kullanılan removeChild() yöntemi, bir düğümü düğümün içinden silmek için kullanılır. Onun yerine nodeValue özelliğini kullanabilirsiniz. Bir sonraki paragrafta göreceksiniz.

Metin düğümünü temizlemek

xmlDoc=loadXMLDoc("books.xml");
nodeValue özelliği, metin düğümünün değerini değiştirmek veya temizlemek için kullanılabilir:
x.nodeValue=""; 

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • Değişken x'yi ilk title elementinin metin düğümüne ayarlayın
  • Metin düğümünü temizlemek için nodeValue özelliğini kullanın

TIY

Tüm <title> elementlerinin metin düğümünü değiştirmek için döngü yapın: TIY

Adına göre özellik düğümünü silmek

removeAttribute(name) yöntemi, adına göre özellik düğümünü silmek için kullanılır.

Örnek: removeAttribute('category')

Aşağıdaki kod parçası, ilk <book> elementindeki "category" özelliğini siler:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category"); 

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • getElementsByTagName() kullanarak book düğümünü elde edin
  • İlk book ögesi nodundan "category" özelliğini silin

TIY

Tüm <book> ögelerinin "category" özelliğini tarayın ve silin: TIY.

Nesneye göre özellik nodunu silme

removeAttributeNode(node) metodu, Node nesnesini parametre olarak kullanarak özellik nodunu silmek için kullanılır.

Örnek: removeAttributeNode(x)

Aşağıdaki kod parçası tüm <book> ögesinin tüm özelliklerini siler:

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);
  }
}

Örnek açıklaması:

  • Kullanarak loadXMLDoc() "books.xml" xmlDoc 'a yükleyin
  • getElementsByTagName() kullanarak tüm book nodlarını alın
  • Her book ögesinin bir özelliği olup olmadığını kontrol edin
  • Bir book ögesinde bir özellik varsa, bu özelliği silin

TIY