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