Tworzenie węzłów XML DOM
- Poprzednia strona Zastępowanie węzłów DOM
- Następna strona Dodawanie węzłów DOM
Przykład
Poniższy przykład używa pliku XML books.xml.
Funkcja loadXMLDoc()położone w zewnętrznym JavaScriptie, do ładowania plików XML.
- Utworzenie węzła elementu
- W tym przykładzie używamy createElement() do utworzenia nowego węzła elementu i używamy appendChild() do dodania go do węzła.
- Tworzenie węzła atrybutu za pomocą createAttribute
- W tym przykładzie używamy createAttribute() do utworzenia nowego węzła atrybutu i używamy setAttributeNode() do wstawienia go do elementu.
- Tworzenie węzła atrybutu za pomocą setAttribute
- W tym przykładzie używamy setAttribute() do utworzenia nowej atrybutu dla elementu.
- Tworzenie węzła węzła tekstowego
- W tym przykładzie używamy createTextNode() do utworzenia nowego węzła tekstowego i używamy appendChild() do dodania go do elementu.
- Utworzenie węzła sekcji CDATA
- W tym przykładzie używamy createCDATAsection() do utworzenia węzła sekcji CDATA i używamy appendChild() do dodania go do elementu.
- Tworzenie węzłów comment
- W tym przykładzie używamy createComment() do utworzenia węzła comment i używamy appendChild() do dodania go do elementu.
Tworzenie nowych węzłów elementów
Metoda createElement() tworzy nowy węzeł elementu:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Utwórz nowy węzeł elementu <edition>.
- Dodaj ten węzeł elementu do pierwszego elementu <book>.
Przejdź przez wszystkie elementy <book> i dodaj element:TIY
Tworzenie nowych węzłów właściwości
createAttribute() służy do tworzenia nowych węzłów właściwości:
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Utwórz nowy węzeł właściwości "edition".
- Dodaj ten nowy węzeł właściwości do pierwszego elementu <title>.
Przejdź przez wszystkie elementy <title> i dodaj nowy węzeł właściwości:TIY
Komentarz: Jeśli właściwość już istnieje, zostanie zastąpiona nową właściwością.
Tworzenie właściwości za pomocą setAttribute()
Ponieważ setAttribute() może tworzyć nowe właściwości, gdy właściwość nie istnieje, możemy użyć tej metody do tworzenia nowych właściwości.
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Ustaw (utwórz) wartość właściwości na "first" dla pierwszego elementu <book>.
Przejdź przez wszystkie elementy <title> i dodaj nową właściwość:TIY
Tworzenie węzła węzła tekstowego
Metoda createTextNode() tworzy nowy węzeł węzła tekstowego:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Utwórz nowy węzeł elementu <edition>.
- Utwórz nowy węzeł węzła tekstowego, którego tekst to "first".
- Dodaj nowy węzeł węzła tekstowego do tego węzła elementu.
- Dodaj nowy węzeł elementu do pierwszego elementu <book>.
Dodaj węzeł elementu z węzłem węzła tekstowego do wszystkich elementów <book>.TIY
Tworzenie węzła sekcji CDATA.
Metoda createCDATASection() tworzy nowy węzeł sekcji CDATA.
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Specjalna oferta & sprzedaż książek"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Utwórz nowy węzeł sekcji CDATA
- Dodaj nowy węzeł sekcji CDATA do pierwszego elementu <book>
Przeszukaj i dodaj sekcję CDATA do wszystkich elementów <book>:TIY
Tworzenie węzłów comment
Metoda createComment() tworzy nowy węzeł comment.
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Zmodyfikowano marca 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
Przykład wyjaśnienia:
- Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
- Utwórz nowy węzeł comment
- Dodaj nowy węzeł comment do pierwszego elementu <book>
Powtarzaj i dodaj węzeł comment do wszystkich elementów <book>:TIY
- Poprzednia strona Zastępowanie węzłów DOM
- Następna strona Dodawanie węzłów DOM