Удаление элементов XML DOM
- Предыдущая страница Изменить узел DOM
- Следующая страница Заменить узел DOM
removeChild()
Метод удаляет указанный узел.
removeAttribute()
Метод удаляет указанное свойство.
Удаление элемента узла
removeChild()
Метод удаляет указанный узел.
Когда узел удаляется, все его подузлы также удаляются.
Этот код удалит первый элемент <book> из загруженного xml:
Пример
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Пример объясняет:
- Предположим books.xml был загружен в
xmlDoc
В - установите переменную
y
установите узел для удаления - Использование
removeChild()
Метод удаляет элемент узла из родительского узла
Удалить себя - удалить текущий узел
removeChild()
Этот метод единственный способ удалить указанный узел.
Когда вы переходите к узлу, который нужно удалить, вы можете использовать: parentNode
и removeChild()
Метод для удаления этого узла:
Пример
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Пример объясняет:
- Предположим books.xml был загружен в
xmlDoc
В - установите переменную
y
установите узел для удаления - Использование
parentNode
иremoveChild()
метод для удаления узла элемента
Удаление узла текста
removeChild()
Метод также можно использовать для удаления узла текста:
Пример
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
Пример объясняет:
- Предположим books.xml был загружен в
xmlDoc
В - установите переменную
x
на первый узел элемента title - установите переменную
y
установите узел для удаления - Использование
removeChild()
метод для удаления узла из родительского узла
Используйте removeChild()
Случаи удаления текста из узла не常见ы. Вместо этого можно использовать атрибут nodeValue. См. следующий раздел.
Удаление узла текста
nodeValue
Атрибут можно использовать для изменения или удаления значения узла текста:
Пример
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Пример объясняет:
- Предположим books.xml был загружен в
xmlDoc
В - Получение первого подузла элемента title
- Использование
nodeValue
Атрибуты можно использовать для удаления текста из узла текста
Удаление узла атрибута по имени
removeAttribute()
Метод используется для удаления узла атрибута по имени.
Пример 1
Ниже приведен код, который удаляет атрибут "category" из первого элемента <book>:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Пример объясняет:
- Предположим books.xml был загружен в
xmlDoc
В - Использование
getElementsByTagName()
Для получения узла book - Удаление атрибута "category" из первого элемента book
Пример 2
Цикл для удаления всех атрибутов "category" всех элементов <book>:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Удаление узла атрибута по объекту
removeAttributeNode()
Метод удаляет узел атрибута, используя объект Node в качестве параметра.
Ниже приведен код, который удаляет все атрибуты всех элементов <book>:
Пример
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
- Предыдущая страница Изменить узел DOM
- Следующая страница Заменить узел DOM