Замена элементов DOM XML
- Предыдущая страница Удаление узлов DOM
- Следующая страница Создание узлов DOM
replaceChild()
Метод заменяет указанный узел.
nodeValue
Атрибут заменяет текст текстового узла.
Замена элементного узла
replaceChild()
Метод используется для замены узлов.
Следующий фрагмент кода заменяет первый элемент <book>:
Пример
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; // Создать элемент book, элемент title и текстовый узел newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("Новая книга"); // Добавить текстовый узел к узлу title newTitle.appendChild(newText); // Добавить этот узел title к узлу book newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0]; // Заменить первый узел book новым узлом x.replaceChild(newNode,y);
Объяснение примера:
- Пример: books.xml загружен в
xmlDoc
в - Создать новый элемент <book>
- Создать новый элемент <title>
- Создать новый текстовый узел, содержащий текст "Новая книга"
- Добавить этот новый текстовый узел к новому элементу <title>
- Добавить этот новый элемент <title> к новому элементу <book>
- Заменить первый элемент <book> новым элементом <book>
Замена данных текстового узла
replaceData()
Метод используется для замены данных текстового узла.
replaceData()
Метод имеет три параметра:
- offset - Откуда начать замену символов. Отсчет начинается с нуля
- length - Количество символов для замены
- string - Строка для вставки
Пример
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,4,"Новая книга");
Объяснение примера:
- Пример: books.xml загружен в
xmlDoc
в - Получение текстового узла первого элемента <title>
- Использование
replaceData()
Метод заменяет первые восемь символов текстового узла на "Новая книга"
Используйте атрибут nodeValue вместо
Использование nodeValue
Свойства легче заменять данные текстового узла.
Следующий фрагмент кода заменит текст первого элемента <title> на "Новая книга":
Пример
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Новая книга";
Объяснение примера:
- Пример: books.xml загружен в
xmlDoc
в - Получение текстового узла первого элемента <title>
- Использование
nodeValue
Атрибуты для изменения текста узла
Вы можете прочитать больше о изменении значений узлов в главе "Изменение узлов".
- Предыдущая страница Удаление узлов DOM
- Следующая страница Создание узлов DOM