Zastępowanie węzłów DOM XML
- Poprzednia strona Usuwanie węzłów DOM
- Następna strona Tworzenie węzłów DOM
replaceChild()
Metoda zastępuje wskazany węzeł.
nodeValue
Atrybut zastępuje tekst w węźle tekstowym.
Zastąp węzeł elementowy
replaceChild()
Metoda służy do zastępowania węzłów.
Poniższy fragment kodu zastępuje pierwszy element <book>:
Przykład
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; // Utwórz element book, element title i węzeł tekstowy newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("Nowa książka"); // Dodaj węzeł tekstowy do węzła title newTitle.appendChild(newText); // Dodaj ten węzeł title do węzła book newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0]; // Zastąp pierwszy element book nowym węzłem x.replaceChild(newNode,y);
Przykład wyjaśniający:
- Przykład: books.xml załadowany do
xmlDoc
w - Utwórz nowy element <book>
- Utwórz nowy element <title>
- Utwórz nowy węzeł tekstowy zawierający tekst "Nowa książka"
- Dodaj ten nowy węzeł tekstowy do nowego elementu <title>
- Dodaj ten nowy element <title> do nowego elementu <book>
- Zastąp pierwszy element <book> nowym elementem <book>
Zastąp dane w węźle tekstowym
replaceData()
Metoda służy do zastępowania danych w węźle tekstowym.
replaceData()
Metoda ma trzy parametry:
- offset - od której pozycji zacząć zastępowanie znaków. Wartość offsetu zaczyna się od zera
- length - liczba znaków do zastąpienia
- string - ciąg znaków do wstawienia
Przykład
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,4,"Nowa książka");
Przykład wyjaśniający:
- Przykład: books.xml załadowany do
xmlDoc
w - Pobierz tekst węzła pierwszego elementu <title>
- Użycie
replaceData()
Metoda zastępuje pierwsze osiem znaków w węźle tekstowym na "Nowa książka"
Użyj atrybutu nodeValue zamiast
Użycie nodeValue
Atrybuty są łatwiejsze do zastąpienia danych w węzle tekstowym.
Poniższy fragment kodu zastąpi tekst w pierwszym elemencie <title> na "Nowa książka":
Przykład
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Nowa książka";
Przykład wyjaśniający:
- Przykład: books.xml załadowany do
xmlDoc
w - Pobierz tekst węzła pierwszego elementu <title>
- Użycie
nodeValue
Atrybuty do zmiany tekstu węzła
Możesz przeczytać więcej o zmianie wartości węzłów w rozdziale Zmiana węzłów.
- Poprzednia strona Usuwanie węzłów DOM
- Następna strona Tworzenie węzłów DOM