XML DOM-radera noder
removeChild()
方法删除指定的节点。
removeAttribute()
方法删除指定的属性。
删除元素节点
removeChild()
方法删除指定的节点。
当一个节点被删除时,它的所有子节点也会被删除。
这段代码将从已加载的 xml 中删除第一个 <book> 元素:
Exempel
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - sätt variabeln
y
sätt till det elementnod som ska tas bort - 使用
removeChild()
方法从父节点中删除该元素节点
删除自己 - 删除当前节点
removeChild()
方法是唯一可以删除指定节点的方法。
当您导航到要删除的节点时,可以使用 parentNode
egenskapen och removeChild()
方法来删除该节点:
Exempel
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - sätt variabeln
y
sätt till det elementnod som ska tas bort - 使用
parentNode
egenskapen ochremoveChild()
metoden för att ta bort elementnoden
Ta bort textnoden
removeChild()
Metoden kan också användas för att ta bort textnoden:
Exempel
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - sätt variabeln
x
sätt till den första title-elementnoden - sätt variabeln
y
sätt till den textnod som ska tas bort - 使用
removeChild()
metoden för att ta bort noden från föräldern
Använd removeChild()
Att ta bort text från en nod är inte särskilt vanligt. Använd nodeValue-egenskapen istället. Se nästa avsnitt.
Töm textnoden
nodeValue
Egenskapen kan användas för att ändra eller tömma textnodens värde:
Exempel
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - Hämta den första title-elementets första undernod
- 使用
nodeValue
Egenskapen kan användas för att ändra eller tömma textnodens värde
Ta bort attributnoden baserat på namn
removeAttribute()
Metoden används för att ta bort attributnoden baserat på namn.
Exempel 1
Följande kod tar bort "category"-attributet från det första <book>-elementet:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
例子解释:
- 假设 books.xml 已被加载到
xmlDoc
中 - 使用
getElementsByTagName()
För att få tag på book-noden - Ta bort "category"-attributet från den första book-elementnoden
Exempel 2
Loopa och ta bort "category"-attributet från alla <book>-element:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Ta bort attributnoden baserat på objektet
removeAttributeNode()
Metoden använder ett Node-objekt som parameter för att ta bort attributnoden.
Följande kod tar bort alla attribut från alla <book>-element:
Exempel
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 元素中存在属性,则删除该属性