XML DOM-Knoten löschen
- Previous Page DOM Change Node
- Next Page DOM Replace Node
removeChild()
该方法删除指定的节点。
removeAttribute()
该方法删除指定的属性。
删除元素节点
removeChild()
该方法删除指定的节点。
当一个节点被删除时,它的所有子节点也将被删除。
此代码将从已加载的 xml 中删除第一个 <book> 元素:
Beispiel
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Setzen der Variablen
y
Setzen des zu entfernenden Elementknotens - Use
removeChild()
该方法从父节点中删除该元素节点
删除自身 - 删除当前节点
removeChild()
这是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用: parentNode
Attribute und removeChild()
用于删除该节点的方法:
Beispiel
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Setzen der Variablen
y
Setzen des zu entfernenden Elementknotens - Use
parentNode
Attribute undremoveChild()
Methode, um Elementknoten zu löschen
Löschen von Textknoten
removeChild()
Die Methode kann auch verwendet werden, um Textknoten zu löschen:
Beispiel
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Setzen der Variablen
x
auf den ersten title-Elementknoten - Setzen der Variablen
y
Setzen des zu entfernenden Textknotens - Use
removeChild()
Methode, um den Knoten aus dem Elternknoten zu entfernen
Nur removeChild()
Der Fall, in dem Text aus einem Knoten entfernt wird, ist nicht häufig. Man kann das Attribut nodeValue verwenden. Siehe nächstes Kapitel.
Leeren des Textknotens
nodeValue
Das Attribut kann verwendet werden, um den Wert des Textknotens zu ändern oder zu leeren:
Beispiel
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Erhalt des ersten title-Elements und des ersten Kindknotens
- Use
nodeValue
Attribute, um den Textknoten zu bereinigen
Entfernung von Attributknoten basierend auf dem Namen
removeAttribute()
Die Methode wird verwendet, um ein Attribut basierend auf dem Namen zu entfernen.
Beispiel 1
Das folgende Codezeilen entfernen das "category"-Attribut des ersten <book>-Elements:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Use
getElementsByTagName()
Um den book-Knoten zu erhalten - Entfernung des "category"-Attributs aus dem ersten book-Elementknoten
Beispiel 2
Durchlauf und Entfernung aller "category"-Attribute der <book>-Elemente:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Entfernung von Attributknoten basierend auf dem Objekt
removeAttributeNode()
Der Methodenaufruf verwendet einen Node-Objekt als Parameter, um ein Attribut zu entfernen.
Das folgende Codezeilen entfernen alle Attribute der <book>-Elemente:
Beispiel
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); } }
Example Explanation:
- Assume books.xml has been loaded into
xmlDoc
in - Use
getElementsByTagName()
To get all book nodes - Check if each book element has an attribute
- If there is an attribute in a book element, then delete that attribute
- Previous Page DOM Change Node
- Next Page DOM Replace Node