Usuwanie węzłów DOM XML
- Poprzednia strona Zmiana węzła DOM
- Następna strona Zastąpienie węzła DOM
usunChild()
Metoda usuwa określony węzeł.
usunAtrybut()
Metoda usuwa określone właściwości.
Usunięcie węzła elementu
usunChild()
Metoda usuwa określony węzeł.
Kiedy węzeł jest usuwany, jego wszystkie podwęzły również są usuwane.
Ten kod usunie pierwszy element <book> z załadowanego xml:
Przykład
y = xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - ustaw zmienną
y
ustaw jako węzeł elementu do usunięcia - Użycie
usunChild()
Metoda usuwa element węzła z węzła nadrzędnego
Usunięcie samego - usunięcie bieżącego węzła
usunChild()
Metoda jest jedynym sposobem na usunięcie określonego węzła.
Kiedy nawigujesz do węzła do usunięcia, możesz użyć ustaw jako węzeł elementu do usunięcia
i usunChild()
Metoda do usunięcia tego węzła:
Przykład
x = xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - ustaw zmienną
y
ustaw jako węzeł elementu do usunięcia - Użycie
ustaw jako węzeł elementu do usunięcia
iusunChild()
metody do usuwania węzłów elementów
Usuwanie węzłów tekstowych
usunChild()
Metoda może również być używana do usuwania węzłów tekstowych:
Przykład
x = xmlDoc.getElementsByTagName("title")[0]; y = x.childNodes[0]; x.removeChild(y);
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - ustaw zmienną
x
jako pierwszy węzeł elementu "title" - ustaw zmienną
y
ustaw jako węzeł tekstowy do usunięcia - Użycie
usunChild()
metody do usunięcia tego węzła z węzła nadrzędnego
Używaj tylko usunChild()
Usunięcie tekstu z węzła nie jest zbyt częste. Można to zrobić za pomocą atrybutu nodeValue. Zobacz następny punkt.
Czyszczenie węzłów tekstowych
nodeValue
Atrybuty mogą być używane do zmiany lub czyszczenia wartości węzłów tekstowych:
Przykład
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - Pobieranie pierwszego węzła elementu "title"
- Użycie
nodeValue
Atrybuty do czyszczenia tekstu węzłów tekstowych
Usuwanie węzła atrybutu na podstawie nazwy
usunAtrybut()
Metoda służy do usuwania węzłów atrybutów na podstawie nazwy.
Przykład 1
Poniższy kod usuwa atrybut "category" z pierwszego elementu <book>:
x = xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - Użycie
getElementsByTagName()
Aby uzyskać węzeł "book" - Usuwanie atrybutu "category" z pierwszego węzła elementu "book"
Przykład 2
Petla usuwająca wszystkie atrybuty "category" elementów <book>:
for (i = 0; i < xLen; i++) { y = x.item(i); y.removeAttribute('category'); }
Usuwanie węzła atrybutu na podstawie obiektu
usunAtrybutWęzeł()
Metoda używa obiektu Node jako parametru do usunięcia węzła atrybutu.
Poniższy kod usuwa wszystkie atrybuty elementów <book>:
Przykład
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); } }
Przykład wyjaśnienia:
- Załóżmy books.xml został załadowany do
xmlDoc
w - Użycie
getElementsByTagName()
Aby uzyskać wszystkie węzły book - Sprawdź, czy każdy element book ma atrybut
- Jeśli w elemencie book istnieje atrybut, usunąć go
- Poprzednia strona Zmiana węzła DOM
- Następna strona Zastąpienie węzła DOM