Tworzenie węzłów XML 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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Utwórz nowy węzeł elementu <edition>.
  3. Dodaj ten węzeł elementu do pierwszego elementu <book>.

TIY

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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Utwórz nowy węzeł właściwości "edition".
  3. Dodaj ten nowy węzeł właściwości do pierwszego elementu <title>.

TIY

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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Ustaw (utwórz) wartość właściwości na "first" dla pierwszego elementu <book>.

TIY

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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Utwórz nowy węzeł elementu <edition>.
  3. Utwórz nowy węzeł węzła tekstowego, którego tekst to "first".
  4. Dodaj nowy węzeł węzła tekstowego do tego węzła elementu.
  5. Dodaj nowy węzeł elementu do pierwszego elementu <book>.

TIY

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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Utwórz nowy węzeł sekcji CDATA
  3. Dodaj nowy węzeł sekcji CDATA do pierwszego elementu <book>

TIY

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:

  1. Przy użyciu loadXMLDoc() Dodaj "books.xmlWczytaj do xmlDoc
  2. Utwórz nowy węzeł comment
  3. Dodaj nowy węzeł comment do pierwszego elementu <book>

TIY

Powtarzaj i dodaj węzeł comment do wszystkich elementów <book>:TIY