Eliminazione dei nodi DOM XML
removeChild()
方法删除指定的节点。
removeAttribute()
方法删除指定的属性。
删除元素节点
removeChild()
方法删除指定的节点。
当一个节点被删除时,它的所有子节点也会被删除。
这段代码将从已加载的 xml 中删除第一个 <book> 元素:
Esempio
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Impostare la variabile
y
Impostare il nodo elemento da eliminare - 使用
removeChild()
方法从父节点中删除该元素节点
删除自己 - 删除当前节点
removeChild()
方法是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用 parentNode
Proprietà e removeChild()
方法来删除该节点:
Esempio
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Impostare la variabile
y
Impostare il nodo elemento da eliminare - 使用
parentNode
Proprietà eremoveChild()
Il metodo per eliminare il nodo elemento
Eliminazione del nodo testo
removeChild()
Il metodo può anche essere utilizzato per eliminare il nodo testo:
Esempio
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Impostare la variabile
x
Impostare il nodo <title> primo - Impostare la variabile
y
Impostare il nodo da rimuovere - 使用
removeChild()
Il metodo per rimuovere il nodo dal nodo genitore
Utilizzare solo removeChild()
La situazione di rimozione del testo dal nodo non è comune. Può essere sostituita dall'attributo nodeValue. Vedi il paragrafo successivo.
Svuotamento del nodo testo
nodeValue
L'attributo può essere utilizzato per modificare o svuotare il valore del nodo testo:
Esempio
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Ottenere il primo nodo figlio dell'elemento <title>
- 使用
nodeValue
Proprietà per pulire il testo del nodo
Eliminazione del nodo proprietà in base al nome
removeAttribute()
Il metodo viene utilizzato per eliminare il nodo proprietà in base al nome.
Esempio 1
Il seguente codice elimina la proprietà "category" dal primo elemento <book>:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
Per ottenere il nodo <book> - Eliminazione della proprietà "category" dal primo elemento <book>
Esempio 2
Ciclo e eliminazione di tutte le proprietà "category" degli elementi <book>:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Eliminazione del nodo proprietà in base all'oggetto
removeAttributeNode()
Il metodo utilizza un oggetto Node come parametro per eliminare il nodo proprietà.
Il seguente codice elimina tutte le proprietà degli elementi <book>:
Esempio
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); } }
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
来获取所有 book 节点 - 检查每个 book 元素是否有属性
- 如果在某个 book 元素中存在属性,则删除该属性