Dodawanie węzła XML DOM
- Poprzednia strona Tworzenie węzła DOM
- Następna strona Klonowanie węzła DOM
Przykład
Poniższy przykład używa pliku XML books.xml.
Funkcja loadXMLDoc()Zlokalizowane w zewnętrznym JavaScript, używane do ładowania plików XML.
- Dodaj węzeł za ostatnim podwęzłem
- W tym przykładzie używamy metody appendChild() do dodania podwęzła do istniejącego węzła.
- Dodaj węzeł przed określonym podwęzłem
- W tym przykładzie używamy metody insertBefore() do wstawienia węzła przed określonym podwęzłem.
- Dodaj nową właściwość
- W tym przykładzie używamy metody setAttribute() do dodania nowej właściwości.
- Dodaj dane do węzła tekstowego
- W tym przykładzie używamy insertData() do wstawienia danych do istniejącego węzła tekstowego.
Dodaj węzeł - appendChild()
Metoda appendChild() dodaje podwęzeł do istniejącego węzła.
Nowy węzeł zostanie dodany (dodany) za każdym istniejącym podwęzłem.
Uwaga:Jeśli pozycja węzła jest ważna, użyj metody insertBefore().
Poniższy fragment kodu tworzy element (<!edition>) i dodaje go za ostatnim podwęzłem pierwszego elementu <book>.
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Ustaw wartość "books.xmlzaładowany do xmlDoc
- Utwórz nowy węzeł <edition>.
- Wstaw ten węzeł do pierwszego elementu <book>.
Powtarzaj i dodawaj element do wszystkich elementów <book>:TIY
Wstawienie węzła - insertBefore()
Metoda insertBefore() służy do wstawiania węzła przed określonym podwęzłem.
Ten metod jest bardzo użyteczny, gdy pozycja wstawianego węzła jest ważna.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Ustaw wartość "books.xmlzaładowany do xmlDoc
- Utwórz nowy element <book>.
- Wstaw ten węzeł przed ostatnim elementem <book>.
Jeśli drugi parametr insertBefore() jest null, nowy węzeł zostanie dodany za ostatnim istniejącym podwęzłem.
x.insertBefore(newNode,null) i x.appendChild(newNode) można dodać nowy podwęzeł do x.
Dodaj nową właściwość
Metoda addAtribute() nie istnieje.
Jeśli atrybut nie istnieje, metoda setAttribute() może utworzyć nowy atrybut:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Ustaw wartość "books.xmlzaładowany do xmlDoc
- Ustaw wartość atrybutu "edition" pierwszego elementu <book> na (utwórz) "first"
Uwaga:Jeśli atrybut już istnieje, metoda setAttribute() nadpisze istniejącą wartość.
Dodawanie tekstu do węzła tekstu - insertData()
Metoda insertData() wstawia dane do istniejącego węzła tekstu.
Metoda insertData() ma dwa parametry:
- offset - gdzie zacząć wstawianie znaków (zaczynając od 0)
- string - ciąg znaków do wstawienia
Poniższy fragment kodu doda "Easy" do tekstu węzła pierwszego elementu <title> załadowanego XML:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Poprzednia strona Tworzenie węzła DOM
- Następna strona Klonowanie węzła DOM