XML DOM slette knuder

removeChild() 方法删除指定的节点。

removeAttribute() 方法删除指定的属性。

删除元素节点

removeChild() 方法删除指定的节点。

当一个节点被删除时,它的所有子节点也会被删除。

这段代码将从已加载的 xml 中删除第一个 <book> 元素:

Eksempel

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

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. sæt variablen y sæt til den elementnode, der skal fjernes
  3. Brug removeChild() 方法从父节点中删除该元素节点

删除自己 - 删除当前节点

removeChild() 方法是唯一可以删除指定节点的方法。

当您导航到要删除的节点时,可以使用 parentNode egenskaberne og removeChild() 方法来删除该节点:

Eksempel

x = xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. sæt variablen y sæt til den elementnode, der skal fjernes
  3. Brug parentNode egenskaberne og removeChild() metoden til at fjerne elementnoden

Fjern tekstnoden

removeChild() Metoden kan også bruges til at fjerne tekstnoden:

Eksempel

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. sæt variablen x sæt til den første title-elementnode
  3. sæt variablen y sæt til den tekstnode, der skal fjernes
  4. Brug removeChild() metoden til at fjerne noden fra forældrenode

Brug kun removeChild() Fjernelse af tekst fra en node er ikke særlig almindelig. Du kan bruge nodeValue-egenskaben i stedet. Se næste afsnit.

Tøm tekstnoden

nodeValue Egenskaben kan bruges til at ændre eller tømme værdien af en tekstnode:

Eksempel

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. Få den første title-elementnodes første undernode
  3. Brug nodeValue Egenskaben bruges til at rydde teksten i tekstnoden

Fjern egenskabsnoden baseret på navn

removeAttribute() Metoden bruges til at fjerne egenskabsnoden baseret på navn.

Eksempel 1

Følgende kode fjerner "category"-egenskaben fra den første <book>-element:

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

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. Brug getElementsByTagName() For at få book-noden
  3. Fjern "category"-egenskaben fra den første book-elementnode

Eksempel 2

Løb gennem og fjern alle <book>-elementernes "category"-egenskab:

for (i = 0; i < xLen; i++) {
    y = x.item(i);
    y.removeAttribute('category');
}

Prøv det selv

Fjern egenskabsnoden baseret på objektet

removeAttributeNode() Metoden bruger Node-objektet som parameter for at fjerne egenskabsnoden.

Følgende kode fjerner alle <book>-elementernes egenskaber:

Eksempel

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

Prøv det selv

Eksempel på forklaring:

  1. Antag books.xml er blevet indlæst til xmlDoc i
  2. Brug getElementsByTagName() For at få alle book-noder
  3. Kontroller, om hver book-element har en egenskab
  4. Fjern egenskaben, hvis der findes en egenskab i en book-element